There are a multitude of reasons why distributed version control systems (like Mercurial and Git) are potentially preferable to centralized systems such as CVS and Subversion. One is that branching is cheaper and merging works much better. I only have anecdotal evidence of this. Frankly, I use Git only for personal projects (in the sense that I’m the only one working on them). For WebDSL (which I work on with a couple of other people) we use subversion and there we hardly ever branch, because “merging works so badly”.