Better forget about CVS, it is mostly legacy now. A more modern centralized version control system in the same line is SVN (subversion), designed as a better CVS and to replace it. And it (almost) suceeded.
But today most version control systems are distributed, see also Joel Spolsky's blog
on the matter. Distributed systems are easier to handle, more robust and featureful. One big plus is that one can set them up for purely local, personal use, or use them to share and work together with others. The most popular open source ones are git, developed for and used by the Linux kernel, many more large, visible open source projects use it now; hg (mercurial) is reported to be easier to use than git, and also quite popular, written in Python it is supposed to run better on Windows (I can't comment, long-time Linux-only); the third contender is bzr (bazaar), that is the distributed version control system selected by Canonical for use in their infrastructure for the Ubuntu distribution, but almost nobody else uses it.
There are many free repository hosting services that handle your projects, shop around if you need one.