Thanks for the explanation.
So as far as I understand, the frame rate determines the amount of milliseconds that a single image exists on the screen. The bigger the frame rate, the less time a single image is present on the screen. For example, if the frame rate is 24, we get (1 second/24 frames*1000 milliseconds) 41.67 milliseconds of screen time, however, if the image is animated on twos, it means that a single image is held for 2 frames, meaning that the image is held in total for 83.33 milliseconds. In this case there is no difference between animating on 2s for a 24 fps and animating in 12 fps.
Hypothetically, lets say I animated 16 frame the walk cycle in 24fps. Now, for some reason I need to change the output to 48 fps while preserving the original timing and spacing of the key-frames. Would I be able to achieve that by changing the video output in blender from 24fps to 48fps and simultaneously scaling the key-frames I had in the file by 2, assuming the computer creates perfect in-between frames? Would the same be true if going from 24fps to 12fps and somehow holding those images for 2 frames to simulate the 24fps on 2s look? As far as I understand, this would look different from the original animation and less smooth, on the other hand the original animation would be smoother.