Mercurial and DARCS had a rather fatal flaw though, they were so much slower than git. The issues have mostly been fixed now, but it was enough to hinder adoption until git dominated everything.
Git also has a rather big flaw, it's "good enough". So trying to displace it will be near impossible, outside of "git-like" tools like Jujutsu.