I've used both SVN and CVS a little bit, but will need to choose one for a new project I will be starting.
Can anyone who has used both extensively please offer some pros and cons and which they think is better? Best learning resources would be appreciated too.
This will be for a small project, just one or two developers to start.
I've used both. There is no comparison; you want svn. The only reason to use CVS is because you are entering or taking over a legacy system with management that does not want to change the status quo. If you are starting on a new project, it is virtually a logical impossibility to argue that CVS is better than Subversion.
If you google around, you should find plenty of comparisons, and rationales for using Subversion over CVS. Some of the advantages of Subversion over CVS:
Having said all this, I recommend you also explore some of the distributed VCSs like Bazaar, Mercurial and git. I personally use git on all my projects.