"And then I thought about the amount of time I'd have to spend setting up and maintaining that server. And what if I wanted to give my friend access to some of my projects. And what if I wanted to give a client read only access to a certain repo. And what about backup and ssh keys and ..."
I already had a server setup with redmine and some other internal services that I needed, so the added overhead for backups and so forth was pretty minimal.
I also want to keep control over any privileged client data and not trust them to "the cloud".
For sharing repos I grant people access to the corresponding redmine project (I have a script set up that make accessing things from there trivial, and redmine has support for private projects).
But yes. $50/month is really very cheap and if I didn't have my privacy concerns with github, and the problem of integrating it with my other services, I would probably use that.