This is actually false! Top players can actually roll faster than 30hz if they want; however, the game won't recognize this as all distinct inputs, so it really is the hardware that's limiting us. Check out this video to see how precise some players can be: https://www.youtube.com/watch?v=K81CjNo4B_Q
(incidentally, i made a romhack of nes tetris that supports polling multiple times per frame, effectively removing this limit. i talk about it here https://www.youtube.com/watch?v=n9vKMNu5JWo)
That actually kind of what I was thinking of :-) . I would have though more "modern" games , particularly multiplayer, would have software limits even as the hardware got more capable.
The simulation rate is often lower than the draw rate though. Minecraft is as low as 20 updates per second, while something like Counter Strike 2 handles events immediately and sends precise timestamps to the server, not discretized to any sampling rate beyond your hardware.
As for single player games there are barely any reasons for game developers to have improved in this regard over the years. "OnKeyDown" is still a standard API in many input libraries and the simplest thing to do is to have this mistake. Unless it's an ability with multiple second cooldown where the mistake would be obvious. And that's not unique to small games made by beginners or indie devs, AAA games have the same problems. Just few years ago DOOM Eternal had an exploit where mapping jump to a scrollwheel (even better if you have freely spinning scrolwheel), in combination with a few other quirks allowed you to do game breaking jumps skipping large parts of levels by quickly doing a bunch of them in a row and accumulating speed before game noticed that you are above ground and shouldn't be able to jump again. It was somewhat hot topic between speed runners of that game.