By adding a third, behind-the-back-buffer, buffer, the graphics card can get to work on the frame after the next one as soon as soon as the frame in the back buffer is done. It doesn’t have to wait for the next refresh to clear the back buffer.
Now, if your FPS drops below your refresh rate, the graphics card can still supply frames as fast as possible. Depending on how far below, you will still have a certain number of pairs of frames that remain identical, but your FPS will be whatever it is, not halved.
As a common example: you’re playing with VSync on, a 60Hz screen, and a frame rate of 60 or more, which VSync caps at the screen’s 60Hz refresh rate. Some sweet looking explosions cut your frame rate to 50 FPS. Without triple buffering, the graphics card can only get one screen out every other refresh. Every other refresh just repeats the previous frame, for an effective 30 FPS.
With the extra buffer, you only have as many identical frame pairs as the graphics card can’t supply. Continuing our example, you would get nine good refreshes, and only every tenth would be identical to its predecessor. That’s 50 FPS, almost as much as your card could do without VSync and triple buffering.
Why almost? Well, triple buffering fixes the problem with VSync at the cost of its own problem. Otherwise, we could just turn them both on and forget about it. The third buffer, when you think about it, has to go somewhere in memory. Depending on how much memory is on your graphics card, triple buffering might trim its overall performance slightly.