Я вижу много ответов на этот вопрос, которые основаны на чувствах, которые испытывал автор, когда слышал о том или ином СКМ. Другие говорят, что все это была чистая удача. Я верю, что удача прослеживается в истории.
Я буду говорить об истории.
Git и Mercurial были созданы одновременно, чтобы решить одну и ту же проблему. В те дни ядро Linux было вынуждено прекратить использовать BitKeeper , проприетарную распределенную SCM, которую он использовал в течение 3 лет. Причиной этого было то, что Ларри Маквой, генеральный директор BitMover, компании, стоящей за BitKeeper, прекратил раздачу своего программного обеспечения бесплатно для разработчиков Linux, потому что кто-то из сообщества Linux перепроектировал его.
Линус Торвальдс, недовольный тем, что уже существовало, впоследствии начал работать над новым SCM, который он скоро назовет Git. Вскоре после этого Мэтт Маккалл начал проект Mercurial по тем же причинам.
Спустя некоторое время, разрабатывая эти проекты по отдельности, Мэтт Маккалл представил расширенную версию своего SCM и определенным образом сравнил ее с Git (самому которому всего пара недель). Линус решил использовать его вместо Git для разработки ядра, но отказался от этой идеи, когда понял, что Mercurial использует Changesets для регистрации изменений редакции . Он боялся, что это слишком близко к тому, как работает BitKeeper, и он определенно не хотел ничего, что могло бы заставить кого-то сказать: «Они создали клон BitKeeper».
Поэтому Git использовался для разработки ядра вместо Mercurial, но оба они были технически актуальны. Конечным результатом является то, что Git начал с того, что его фактически использовали там, где он был предназначен для использования, в то время как Mercurial не так быстро нашел свое первое большое применение FOSS. Поскольку он был наделен очень хорошим дизайном, и благодаря настойчивости Мэтта Маккалла, он в конечном итоге стал знаменитым и привык к большим, реальным проектам.
Сегодня они оба знамениты. Какой из них самый известный, сказать невозможно. Google Code только недавно интегрировал Git, в то время как у него был Mercurial в течение долгого времени. Многие действительно большие и известные проекты используют либо.
Я думаю, что я имею в виду, когда исчезает сама причина, по которой вы начали проект, завоевать популярность сложнее, но все же выполнимо.
Bazaar - это еще один SCM, который очень известен в мире GNU, но не настолько за его пределами, потому что он был построен с целью удовлетворения сообщества GNU. Программное обеспечение часто идет туда, куда его создатели хотят, и не дальше.
С другой стороны, распределенные СКМ - явные победители. Я не вижу много широко используемых нераспределенных SCM.