I switched to darcs for a few of my personal projects now. Darcs is a decentralized revision control system that does not require a central repository like Subversion and CVS do. Instead, you can have an arbitrary number of copies of a repository and darcs provides commands to keep these copies in synch.
With darcs, the number of developers who can work on a project is not limited. You can just put your repository on some http-server and everyone who wants can get a local copy of this repository by using darcs' get command. Changes made to the local copies are also recorded locally. Using darcs synchronization commands, changes can be populated from any repository to any other. A very useful feature is darcs' support for distributing changes via email. A developer can create a patch bundle for her local repository. This bundle is emailed to other developers who can then apply it to their repositories.
Darcs has no such things as branches. Just think of each copy of a repository as a branch. Changes can be moved back and forth between these copies. The drawback is that darcs doesn't support branch management as subversion or CVS do. But i'm not sure now if this could be a problem for me. The future will show.
I'm using darcs for a few weeks now and I'm quite satisfied. I have always found it annoying to setup a central repository for a one-man project. In addition, the absence of a central repository also eliminates the single-point of failure which is inherent to Subversion, CVS and friends. With darcs, the repository lives inside my working copy and no server failure can prevent me from using it. On the other hand, I can easily give other developers access to my project by providing a copy of my repository on some server. I neither have to setup nor to administrate a central repository.
Darcs is a fresh and lightweight system with a few straightforward concepts that are easy to understand. It runs on almost any platform so if you are not already using it, go and give it try.