Git and Mercurial provide roughly the same functionality and were developed at around the same time (2005), yet Git is clearly horrible modern software while Mercurial is good reactionary software. So what is the difference? The difference is in the design which reflects completely different values. Git reflects modern values, so it is a disgusting bloated overcomplicated unreliable mess. Mercurial reflects reactionary (older) values, so it is simple, clean, and reliable. Naturally, modern programmers overwhelmingly prefer Git.
I only played with Git briefly before I recognized it as an unacceptable horror, so I will refer to others to describe these horrors in detail - here, here, and here. I then looked for an alternative and found Mercurial which is good. There may also be other good alternatives but I haven't researched this, so I am only posting about Mercurial.
I listed Mercurial first in the list of existing reactionary software for a reason. This is because the distinction between Git and Mercurial makes it trivial to distinguish between horrible modern software and good reactionary software. The simple rule is that all software whose source code is in Git is horrible modern software. This eliminates 99% of current open source software, so this saves an incredible amount of time for those of us who want good reactionary software. All good software will be in Mercurial or some other Git alternative.
It should go without saying that anyone who is developing reactionary software should use Mercurial for source control. Since there were no good hosting solutions, we developed a free Mercurial hosting service.