1) I'm currently the only developer. Do I really need CVS?
From my limited experience, and those of my friends who do not use version control, version control does come in very handy even for one-person projects. One reason is that it provides a safety net for you to go back to a working version should you make some changes that did not turn out as expected. Note that CVS refers to a particular version control system, hence we have Kudose and Elizabeth suggesting Subversion instead 🙂
2) Can anyone recommend a good CVS system? I've read that things like this exist at google code and sourceforge and so on but haven't gotten far enough to publish there yet.
You could just get an account, set things up, and then worry about properly publishing later. After all, by the time you realise you need version control, it may be too late, so you might as well get started now then use the other features provided later. Of course, you do not have to use Sourceforge and such...
I am sure laserlight will say Bazaar is better though.
... since you can setup a Bazaar branch on your home computer, work with version control all you want, then publish it to a website of your choice as and when you choose, even if the web server does not have Bazaar installed. That said, you can have a local Subversion repository too, just that publishing it may not be so easy. (Of course you do not have to publish it if you never intend to work with other developers, but that could be very shortsighted).
Launchpad has direct support for Bazaar as a VCS.
Then there's also been talk of Git as a new-ish version control alternative. I've only just looked at it so I can't speak from experience as to what makes it better than SVN.
Git, like Bazaar and Mercurial, is a distributed version control system. I found Bazaar when I wanted to be able to have a Subversion repository on my computer and also on a website. It later came in handy when I wanted to have full access to version control offline and keep in sync with my home computer, laptop and occasionally my school computer. Other than that I think that Subversion is fine for a lone developer or a team using the company network, particularly with its more mature tool support than any of Bazaar, Git and Mercurial.