It makes the game/GPU wait until the next display refresh cycle before putting out a new image to eliminate tearing.
With vsync off, the GPU starts sending new frame data to the display whenever they are completed and regardless of what point through the display's refresh cycle is at, which produces tearing - slices of different images getting mixed up on the display.
With double buffering, the GPU maintains two frame buffers, one for the image being rendered ('back buffer') and one for the last completed image ('front buffer') which will be repeated on every refresh cycle until the new image is ready. Once a new image is ready, the GPU has to wait for the "buffer flip" before it can start working on a new image.
With triple buffering, the GPU maintains three frame buffers: the most recent frame being sent to the display, the most recently rendered frame and a third buffer for the new frame the GPU is working on. The GPU alternately renders new frames on the 'A' and 'B' back buffers without waiting for vsync and whenever the display output is about to start refreshing the display, it picks the most recently completed frame.
Triple buffering achieves responsiveness similar to "vsync off" but without tearing.
Since you have a Nvidia card, another option would be to get a G-Sync monitor.