Basically the time it takes everybody to get their updates to the server are different (and to get those updates back to you), so your PC can’t just render things where the server says they are. To solve this and to make the motion appear smooth, you typically get the final position as an interpolation from a few other points. The location the server says the object is at, and the location the object would be at on your screen if it kept moving at the same rate are taken into account in a formula to determine the final rendering location for your personal connection.
The reason some games are stuttery and some are not depends on how how much (if any) client side prediction is used and how much priority they put on the “players viewpoint”.
[Here](https://www.kinematicsoup.com/news/2017/5/30/multiplayerprediction) is a great article I learned from when I first started writing client side prediction algorithms.
Latest Answers