Well I was probably talking out of my bum once again. But on PC games when I turn vsync on, my frame rate suffers, and I thought it was because it taxes the GPU some more.
It reduces the load on the GPU, as it's sitting idle waiting for the vertical sync.
But yes, the frame rate is reduced. Because it won't start drawing the next rendered frame, until the monitor has displayed the frame that's currently being displayed.
Lets take an example, say your monitor is refreshed at 60Hz, that means it takes 16.6ms for it to display a frame.
If the game engine renders a frame in 10ms - it's running at 100fps. Now if you just swap what's being drawn up when the next frame is ready, to get 100fps, the monitor will only draw about 2/3's of each frame, before it switches to the next - this will result in the tearing effect that we are talking about.
Tearing can also result is it takes longer than the refresh time, say it takes the engine 20ms to render a frame, that means with the monitor refresh of 16.6ms, it draws the frame, then starts drawing the same frame again for 4ms before it flips to the next - again, it will tear. This is the usual case on the PS3 and 360 as it's doing too much rendering work, or the code is too slow to do everything in the required time to match the refresh.
With v-sync on, generally as the PC can render faster than the monitor refresh rate, it will result in a lower fps - it will match the monitor refresh. So going back to the example of it rendering quicker - say 10ms to render a frame. With v-sync enabled, it will wait until the monitor is ready to display the next frame so it has to sit idle for the remaining 6.6ms of that frame. Your fps will drop to match the monitor refresh - 60Hz / 60fps. But there won't be any tearing as the frame being displayed doesnt change while the monitor is partway through displaying a frame.