"Git is plain and simple a very impressive tool"
Yes, if you don't look at how it is implemented, and don't enjoy the ugly task of setting up a complex VCS server yourself and don't use a premade one (which stores your code outside your control).
Despite its features, Git is a HUGE step BACKWARD in the ways server software is written. It's a pile of disparate tools cobbled together in some way to achieve something usable in a lazy effort - its implementation under Windows is laughable, and with a very high administrative overhead because it lacks a central and single way to manage it, you have to cope with the disparate tools and all their idiosyncrasies - and with a very scanty documentation, for example, if you need to put sound ACLs on repositories - not everybody does open source projects. Even using multiple repositories if frowned upon, because it is difficuuuuuuult. Heck, you can't even simply create a remote repository with a single command.
That's why you need layers like GitHub or GitLab to make it manageable somehow. Just one stores your code on its servers - and in many situations you can't simply do that-, the other brings in features you may have already covered with other tools ,just adding more useless complexity.
Just today everybody drinks the kool-aid some open source "guru" ask them to drink, without ever thinking what they're going to drink.