Veo muchas respuestas a esto que se basan en los sentimientos que tuvo el autor cuando escuchó sobre uno u otro SCM. Otros dicen que todo fue pura suerte. Creo que la suerte se remonta a la historia.
Hablaré de historia.
Git y Mercurial se crearon simultáneamente para resolver el mismo problema. En aquellos días, el kernel de Linux se vio obligado a dejar de usar BitKeeper , un SCM distribuido patentado que había estado usando durante 3 años. La razón de esto fue que Larry McVoy, CEO de BitMover, la compañía detrás de BitKeeper, dejó de entregar su software de forma gratuita a los desarrolladores de Linux, porque alguien dentro de la comunidad de Linux lo había modificado.
Linus Torvalds, insatisfecho con lo que ya existía, posteriormente comenzó a trabajar en un SCM nuevo que pronto llamaría Git. Poco después, Matt Mackall comenzó el proyecto Mercurial por razones similares.
Después de algún tiempo desarrollando estos proyectos por separado, Matt Mackall presentó una versión avanzada de su SCM y lo comparó de cierta manera, comparándolo con Git (que en sí mismo tenía solo un par de semanas). Linus consideró usarlo en lugar de Git para el desarrollo de Kernel, pero abandonó la idea cuando se dio cuenta de que Mercurial estaba usando Changesets para registrar modificaciones de revisión . Temía que eso estuviera demasiado cerca de la forma en que funcionaba BitKeeper, y ciertamente no quería nada que pudiera hacer que alguien dijera: "Construyeron un clon de BitKeeper".
Por lo tanto, Git se usó para el desarrollo de Kernel en lugar de Mercurial, pero ambos eran técnicamente relevantes. El resultado final es que Git comenzó siendo utilizado donde fue diseñado para usarse, mientras que Mercurial no fue tan rápido para encontrar su primer gran uso de FOSS. Debido a que estaba dotado de un muy buen diseño, y gracias a la perseverancia de Matt Mackall, eventualmente se hizo famoso y se utilizó para grandes proyectos del mundo real.
Hoy, ambos son famosos. Cuál es el más famoso es imposible de decir. Google Code solo integró Git recientemente, mientras que tenía Mercurial durante mucho tiempo. Muchos proyectos realmente grandes y famosos usan cualquiera.
Supongo que lo que quiero decir es que, cuando la razón por la que ha comenzado un proyecto desaparece, es más difícil ganar popularidad, pero aún es factible.
Bazaar es otro SCM que es muy famoso en el mundo GNU, pero no tanto fuera de eso, porque fue construido con la intención de satisfacer a la comunidad GNU. El software a menudo va a donde sus creadores quieren ir, y no más.
Por otro lado, los SCM distribuidos son claros ganadores. No veo muchos SCM no distribuidos ampliamente utilizados por ahí.