I was wondering which DVCS is most conducive to experimentation i.e. branching, etc. I want something where anyone can quickly launch smaller projects and refactor code quickly. I want to create an environment where experimenting is cheap and can be discarded/merged easily.
Git is known for very cheap branching, they made it so that branching was something trivial, so that, like you said, you could create branches for any little thing. I don't have experience with the other DVCSes, but I imagine they're pretty similar given their similar nature. I just know that cheap branching is one of Git's reasons for creation, or something like that. Sorry if I misunderstood your question.
Here's a section of a popular article/site giving details about git over other version control systems.
In response to your comment: On windows I imagine? I've been fine using msysgit, get msysGit-fullinstall-1.6.4-preview20090729. For a detailed walkthrough with screenshots that helped out some friends, I recommend the Git for Windows Developers series.
You could also try mercurial, it's fast, it's distributed and it's easier to use. If you like working with a GUI try http://bitbucket.org/tortoisehg/stable/wiki/Home it's better than everything git has to offer. http://mercurial.selenic.com/downloads/ . Here is an analysis done by google before they integrated mercurial into google code http://code.google.com/p/support/wiki/DVCSAnalysis
If you're a GUI user, why don't you take a look at Plastic SCM? http://codicesoftware.blogspot.com/2010/03/distributed-development-for-windows.html. It's one of the few commercial DVCSs out there and it's focused on ease of use but it has all the features you're looking for:
- Excellent branching and merging support (full merge tracking, rename support and all that)
- Distributed (and easy to use)
- Subtractive merge support (you can do it from the GUI)
Besides:
- Very good visualization
- Excellent Windows GUI (check it)
- Excellent VStudio integration