If your game runs at a fixed frame rate (e.g., 30 frames per second) then you don’t need to worry about movement based on “elapsed time” since the elapsed time will always have the same value (e.g., one 30th of a second). I think that that’s the case for a lot of games.
If your frame rate varies (in particular, if the game occasionally runs at a slightly lower frame rate than you’re intending) then updating the game based on the elapsed time should help to make the game play smoothly. (Of course, if the game slows down severely, then there’s nothing you can do to make it feel smooth, and using the elapsed time may make it appear even more jerky.)
A simpler alternative to using elapsed time may be to increase the number of updates per frame if the frame rate drops. For example, if you can do { move(); draw(); } 30 times a second then that’s good, but if the game starts running slow then you could switch to doing { move(); move(); draw(); } 15 times a second instead, in which case the game will appear to play at the same speed.
Finally, I’d say that while updating the game based on the elapsed time is fairly common for 3D games, it isn’t nearly as useful for 2D (sprite-based) games since the movement and animation is often a lot more rigid.
Simon