This functionality is truly a deal-breaker for most people, and completely changes the way you develop and think about development. There are very few people I've ever met that have learned the git branching system (which is not hard to learn) and then went back to another DSCM. The fact is that none of these other systems are nearly as good at this as Git is because they way they think about history (patches/changesets vs DAG snapshots) is simply not well suited for it.
That, plus the fact that Git usability has improved so much recently that it's hard to argue that any of them are really easier to learn, and super powerful features for more advanced users like the staging area (which I also would hate to live without) I think explain why Git is becoming more popular at such a fast rate.
It's not that the other systems aren't getting love, but that it's getting harder to argue against Git and while all of them share largely the same basic data storage mechanism, Git's is entirely different, so while Git can always make the UI better (and it constantly is), the other systems are having a really hard time trying to catch up with the features Git had from day one.
Others may disagree with me, and will normally argue that it's just a fanboy bandwagon koolaid whatever, but I think that the real reason is that when most people learn Git fundamentals they realize that they become more efficient and none of the other systems can do that for them in the same way.
The simplicity of making a local directory versioned is wonderful too. It has use far beyond code. I can quickly version my documents folder, easily recover from mistakes, and with one little push I have a backup! To even try to do this in SVN was another headache, and it required an SVN server somewhere... with git I don't have to push if I don't want to.
By taking full advantage of fast branch and merge operations, you train yourself to experiment with many possible implementations of the same idea, without completely losing the history of your trials.