Not everything that uses GitHub/BitBucket/GitLab etc. is (re)centralized. You can have an internal company hosting service and a public hosting solution, for example. I've also used the decentralized capabilities to synchronize between two computers.
There are many reasons why GitHub (or something like it) are popular, such as:
1) not having to host the infrastructure yourself (incl. hosting it on AWS/Azure/etc.)
2) discoverability -- being able to follow people/organizations creating projects you are interested in; being able to search for projects ~ having these on various websites makes it harder to discover them
3) additional functionality/capabilities like static web page hosting (great for things like personal projects), and CI/CD workflows