What's the difference between lag and jitter?

Lag is a noticeable delay between the time something is initiated and the time when it happens. For example, pressing an "attack" button and finding that the attack doesn't happen until a second later.

Latency is sometimes used to mean the same thing as lag, but in networking it's generally used interchangeably with ping time: the amount of time it takes for a packet to travel from point A to point B, or to travel there and back again. High packet latency generally leads to lag in a game.

Jitter is a variance in latency over time. If every packet takes exactly the same amount of time to travel from A to B, there is no jitter. If the packet delivery times are inconsistent, we call it jitter.

Jitter can be overcome with buffering, but that adds to overall latency/lag. Overcoming a lot of jitter might require buffers so large that the resulting lag would make a game terribly unresponsive, possibly not worth playing.