Heck why can't they process and render in just one frame or half a frame or something, you are the tech nerd here so explain that to me
Because 120th of a second is quite a lot for a CPU to receive input, manage devices and communicate between hardware, perform calculations and output it's results all while processing other information as well.
Rendering and processing are NOT the same as input lag.
Here I'll put input lag in a simple example (there is more to it than this)that you can understand.
You have two games, one at 60fps, the other at 30. However the hardware running them is the same. Having the same hardware means they perform the same actions the same speed and output at the same time. But think if the data was ready to be inputted at the start of the frame, the 30fps game would need to wait a 30th of a second to output the data (waiting for the frame to end) whereas the 60fps will be able to display it sooner as it refreshes it's frames faster.
Like I said there is a lot more to it than that, but I think that should help people visualize it more.
EDIT: @Dominus I believe it is possible to write directly to certain system components when coding in OOP or at least allocate certain functions, this would increase processing efficiency in theory but I'm not experienced enough yet to say one way or another, most of my projects have either been so low quality they haven't pushed hardware enough or procedural instead of Object Orientated. If someone would elaborate on resource management that would be great. As I don't want to confuse anyone with mis-information.
I would also argue that whatever ways you can maximise efficiency with a 30fps game whether through hardware or software should also be applicable with a 60fps game.