Call me old fashioned, but I much preferred the branching/tagging model under CVS.
In CVS, branches and tags are different things. A tag is a label for a revision. They are super-useful for things like marking a PRODUCTION tag for files to sync to your webserver. You don't have to merge to update the PRODUCTION files -- you just move the tag.
Branches live in the same 'namespace' as the main file -- it's easy to track down all the mods of a particular file.
In SVN there is no such things as a tag. There's only branches. If you want tags, you need to create a branch and pretend it's a tag. Branches are basically copies of files. Last time I used SVN for branches/merges, you had to record the revision of the pre-branched file if you ever hoped to merge it back together (note, I'm not an SVN expert, so this may have changed).
That being said, I think SVN is better in every other respect and you probably shouldn't start a new project with CVS.