A quick run down of the benefits and drawbacks of V-sync. The above is missing certain points.
1) The only way to stop tearing with video games is V-sync or G-sync (soon there will be freesync). The latter require special monitors. V-sync forces the GPU to only send frames between refreshes so you don't get multiple partial images on the screen, as a result of the GPU sending new images partway through the monitors refresh.
2) As mentioned above, if you cannot maintain your refresh rate in FPS, you may experience some stuttering, as a result of some frames only waiting one refresh to be displayed, and others have to wait 2.
3) If you do maintain your refresh rate with V-sync, on a DirectX game (almost all games), you will incur a frame worth of latency. OpenGL does not have this issue.
4) The system for V-sync was designed around the idea that a monitor has to update it's image at a fixed rate. This was due to CRT's and LCD's have followed suit. G-sync and soon to be Freesync changes this, as LCD's do not have to update at a fixed rate, so some special monitors make it so the GPU dictates when the monitor updates it's image, giving you the best of both worlds. No tearing, and no stutter, though the latency can still be a problem if you hit the max refresh rate of the monitor (FPS cap can fix this).
A compromise comes in the form of adaptive V-sync for Nvidia cards, and Dynamic V-sync for AMD cards using RadeonPro (aftermarket software). These allow V-sync to be on when you reach your refresh rate, and turn it off if you fail to. This helps prevent the stutter that V-sync can cause, when you fail to reach your refresh rate.
What is best is up to you. Your friend gave his opinion, which sounded a little more like a fact to you. It's an opinion, and you are free to do as you think is best.