There’s lots of debates and comparisons of version control systems and whether it’s better to have a centralised or a distributed version control system. I really don’t think you can put your finger on it and Distributed is always better than Centralised and vice versa.
In terms of Distributed Version Control Systems I really think that Mercurial is the best because it has very good GUI Support and IDE Integration (Visual Studio, Eclipse, Net Beans), which I think is better than Git’s support for those IDEs.
For Centralised Version Control Systems I think that SVN is the best because it deals with some of the issues in CVS, which is rather outdated these days and also has very good GUI and IDE Integration.
There’s a nice Comparison of SVN and Mercurial here. Personally I think Mercurial is great when you’re working on a single project with a distributed team, but if you’re working with a team in a single location AND/OR on multiple projects then SVN is better, because you don’t always want the entire repository, just a single project!
Here’s a great blog post about this from Martin Fowler… Comparison of Verson Control Tools, SVN, Git, Mercurial