just my blunt 0.1 cents: SVN imho rests on an analogy which, at first sight, is user-friendly; but it impairs mind clarity to absorb the main notion of DVCS such as git and hg later on -- it is 'branch is just a directory, you can copy it'. CVS is closer to the notion of GIT/HG branches since there they still live in a "hyperspace" and are appreciated as such.
on the other hand, git-svn is such a handy tool with its bidirectional flow, that it makes "transition" much easier, whenever people could develop entirely in git and commit back to SVN.
Altogether, I think that direct jump CVS -> GIT was the right route; it could be only better if done earlier ;)
With Subversion you basically end up having to manage tags manually in some external document. For fun search the Subversion mailing lists: you will find numerous people explaining how convenient is the lack of tags!