I first began using version control just about a year ago. I jumped into CVS initially, although I’ll be damned if I can remember why. I had just been promoted to development manager at my company and we had no version control, none of the three devs knew any version control, but I knew we needed to use it. I picked CVS for some reason long forgotten, probably more random than anything, thinking any version control was better than none (which is true).
About a month ago, I switched the department to using Subversion. I can’t believe how superior it is to CVS. Branching and tagging is done in a more sensible way, where each branch is just a folder on the tree, access through Apache is easier to set up and and easier to use, and command line interaction is way more friendly on Subversion than CVS. My department uses Linux exclusively for development machines and servers, so ease of use on the command line is quite nifty.
I also prefer the way subversion does its revision numbers. Each file having a revision is a bit non-sensical, since often times a file will remain revision 184.108.40.206 for nearly the whole life of a project. I like this revision number applying to the entire tree, instead. It gives you a better view of changesets, and if you make each revision a single, discrete unit of change, reverse integrations from release to trunk and back to branches is super easy.
Subversion, I love you.