When you consider it, a swap buffer (how ever many you may be using) should be already finished by the time you're going to swap it ... right?
I'm not sure which post you're replying to, but when you call
SwapBuffers on the CPU on a system with hardware 3D, the GPU is very unlikely to have finished rendering to the backbuffer - it runs behind the CPU not in sync with it.
You can still go on and render the next frame, and often you don't need to worry about this async behaviour since the drivers will manage it for you, but if you're having latency issues like the OP you might need to consider managing your CPU/GPU interaction a bit more to reduce them. I agree that
glFlush and
glFinish are blunt instruments, but they can be useful in the right scenario. A better approach would be to use fences to force the GPU to run only one frame behind, that can be pretty good.