Frame pacing is a big thing. At 30 FPS you need to deliver a frame to the screen every 33.3333 MS. If the game is doing that consistently it will feel significantly better than a game displaying frames randomly at 30 ms, 33 ms, 36 ms. That could still average out to 30 fps but it will feel bad.
I imagine most console games probably use vsync or some kind of buffering to avoid screen tearing as well. If you’re not delivering your frames on time before that 33ms, it will get delayed to the next screen refresh and that’s when thing start to feel really bad.