Just like AWS, you pay Heroku to simplify your system administration. You don't have to like Heroku's product but there is a place for it. I do not use Heroku but it makes total sense if you have an app you need to deploy and you don't know system admin, don't want to do system admin yourself, or can't afford a system admin.
GitHub just "wraps up" git and charges for it and I am happy to pay them. Setting up a git server is a royal pain in the ass. Setting up a wiki, issue tracker, etc to go along with a git server is even more of a pain in the ass.
Well done cloud services make life simpler, and many people will pay for that simplicity regardless of how the internals are built.