After having used CVS and GNU arch (tla) before, we switched to Mercurial about a year ago for MoinMoin development.
As well as tla has been a big step forward compared to CVS, Mercurial is another big step forward from tla.
We don't regret it, Mercurial works great:
* we never had serious trouble with it, we never lost data
* it is FAST (much faster than GNU arch)
* the commands are easy to remember and have sane defaults, so you get used to it fast
* it is well-designed
* it uses your disk space efficiently
* it doesn't need a central server, you can use version control on the road without internet connection
* it runs on Linux, Mac, Windows, ...
* it has a nice web interface built-in (you don't even need a separate web server)
* you can read its code (it is mostly Python! CLEAN python code, with a bit of C for better performance.)
* it has very few dependencies (well, it needs Python, of course, but not much else)
I have used it quite a while now and I am very happy with it. I also recommend using TortoiseHg which is also easy to use and has a very nice GUI front-end to Mercurial!
If you have never used a distributed version control tool before, this is the one!
I just couldn't get used to using version control before I tired Mercurial -- it was just to much work to set everything up, configure, authenticate each time, etc.
With Mercurial, I can just start a project with a single command, and do all the setting up when I want to make my repository public.
Mercurial fills a gap caused by the learning curve that has been left aside by most version control systems. I started to use it just about 3 months reluctant cause some non positive experience with other VCS, but it exceeded my expectations. Easy to use, intuitive, and lightweight, in part because it does not necessarily run as a service on the machine.
Now I'm working in medium projects (web applications/CMS/ERP, etc), and in all of them I've choosen to use Mercurial as our primary VCS.