I have a shitload -- maybe even 2 shitloads -- of homework to do right now, so instead I'm doing this. I used to use git. It was my first, and it treated me well until it went all Chris Brown on me (cue "Rehab", by Rhianna). THEN I realized that I had to find a new lover^H^H^H^H^HVCS. Mercurial was, and still is, the babe that rules my life in this realm. Sleek, fast, leet, she has everything I was looking for.
Then came the day that I realized "Hey, this whole branching thing is pretty damn cool!" I was using git at the time (I've been using them both, with different projects). Then I went back to my lil' ol' project using hg, and needless to say I was quite surprised to find that it's branching sucked more dick than a Swedish hooker (see here for information on its failsauce sans citron). After poking around, I came across a few things such as tasks and bookmarks for it, but they're just not the same. It has been my vow to be the one to bring branching to the mercurial world. I mean I don't know python nor do I enjoy it... but that's just a small detail when you're as old as I am. I personally feel that git style branching is the way to go for big things, like Rubinius' C++ branch and then its later stackfull branch, and that tasks are the way to go for smaller things.
I don't really have a main point to this post. Just that branches are important, is all. I don't like how git is all esoteric and hard to use (let alone understand -- on the same note, take a look at the Mercurial source and marvel at their documentation!), but I seem to not have any other choices besides Mercurial and Git to get access to their speed. It'd be super sweet to have a third contender that was fast AND well documented... but that is a story for another day. In terms of finding a new VCS that was everything I had dreamed of... she's in the works, but let me just say that she is a babe.