Compensating for network latency is an imprecise science at best. Commonly referred to as lag, latency translates to slowdowns and interruptions in on-screen actions, as events from other players don't arrive on time anymore. Some data packets arrive so late that it doesn't make sense to use them anymore, as something that happened two seconds ago has no real bearing on what is happening in the game. Other data packets never arrive, leaving gaps in the received data.
The algorithms developed to deal with this problem are all forms of interpolation and predictions. Essentially, they use historical data to predict the future state and then adjust the current state when new data comes in from the server or peers. Which algorithm is the correct one depends largely on the type of game we are implementing. For a real-time strategy (RTS) game, for example, the tolerance for lag is far higher than for a first-person shooter game.
On the client side, whether you would use interpolation...