Irritating that this is downvoted. I agree with you though — I simply don’t run into enough (any?) git related pain that would motivate a switch. git is really really simple and can be made to do whatever I want
Many Git users act as if they have Stockholm Syndrome[1]; because of their dependence on it, they don't see all of the issues with it and make excuses for its shortcomings.
I’m old enough to remember the same thing with MS-DOS when GUIs first started to become mainstream.
Git is extremely flexible and allows you to implement almost any workflow you want. But its command line interface isn't intuitive and there are still enough opportunities to shoot yourself in the foot. It's still too easy to get yourself in a situation where you need the Git expert on your team to unwedge the repo.
Sure, I'm a Git user, but not because I wanted to be one; it's the de facto standard and there's a large ecosystem of support for it, starting with GitHub and GitLab.
I use Mercurial for personal projects because I don't want or need the cognitive overhead of Git when I'm doing something for myself.
Out of the box, Mercurial doesn't give you access to a foot-gun unless you really want it. But when you're starting out, you don't want to shoot your foot off before you know what you're doing.
I enjoy Mercurial’s concept of changeset evolution[2] and Phases[3] which helps avoid all of the coordination and potential drama of rebasing on top of changes that shouldn't have been changed, etc.
The Evolve plugin[4] allows for intelligent and sane history rewriting, using the underlying support for changeset evolution.
The Evolve plugin also provides support topic branches[5], reducing the overhead of managing them.
There's a great description of how this works in Mercurial on the Git Minutes podcast[6].
[1]: Stockholm syndrome is a condition in which hostages develop a psychological alliance with their captors during captivity. Emotional bonds may be formed between captors and captives, during intimate time together, but these are generally considered irrational in light of the danger or risk endured by the victims.
My personal theory is that things like version control to use are very rarely chosen by beginner or even intermediate programmers. Those decisions are likely made by most experienced people on the team.
And those experienced people likely want a foot-gun and probably use it every week. And their workflow has been evolving since VAX era, so by now is so weird, only something like git can handle them.
Imagine a conversation: "git is great! Remember how back in CVS days you had to generate patch(1) files if you wanted to save you work? well, in git it is much easier, you just need to ... Wait, what do you mean you don't know patch(1) is?" :)
But a unintuitive command-line interface and footguns don't seem like big enough issues to actually lead to Git being "overthrown" in a similar way how non-distributed VCS's reliance on a central server that you're always connected to was. I mean, people work their way through the confusing CLI until it's no longer a major blocker because it's so dominant, and you can usually recover from shooting yourself in the foot without data loss - making either point an annoyance, but not to the point of actively looking for and learning an alternative.
But a unintuitive command-line interface and footguns don't seem like big enough issues to actually lead to Git being "overthrown" in a similar way how non-distributed VCS's reliance on a central server that you're always connected to was
I would argue that GitHub was the killer app for Git: it was so compelling that people were willing to put up with Git’s issues so they could use it.
People forget that Mercurial had the early lead in terms of mindshare; many companies adopted it because it was easier for their developers to learn and its syntax was familiar to anyone who used CVS or Subversion. (Linus’ disdain for Subversion is no secret; perhaps that was part of the reason he was okay with Git's syntax being somewhat backwards compatible).
Here's the first advantage of Mercurial cited by Google:
Learning Curve. Git has a steeper learning curve than Mercurial due to a number of factors. Git has more commands and options, the volume of which can be intimidating to new users. Mercurial's documentation tends to be more complete and easier for novices to read. Mercurial's terminology and commands are also a closer to Subversion and CVS, making it familiar to people migrating from those systems.