The first was open sourcing parts of their code so they just started using GitHub. Makes sense.
The second used to work with Subversion, and they stayed with it. The process was built around having one and only one server with all the CI, and the hooks, and the locks. Git was used with the SVN gate purely for developers' convenience. Makes sense.
The third one was on TFS, and they couldn't quite align their process with it. So they thought "our process is a mess so let's do git". This is a red flag. If you can't get your process straight with relatively simple tool, some more sophisticated tool will (and it did) only make it worse.