When it comes to hosting our source-code, many platforms can cover the basic of hosting a central GIT repository for us.
GitHub charges per repository, while BitBucket charges by contributor.
Use BitBucket if:
- You only work individually or in a small team (5 people or less).
- You wish to have private repositories.
- You wish to work with a large number of repositories.
Use GitHub if:
- You project is open source.
- You only have a small number of private repositories.
- Many people will work on a repository (5 people or above).
As for the rest of the differentiation features, they're both pretty similar, with the one exception that GitHub is universally recognised and there are many tools, such as CI services, that can plug straight into GitHub by using your account; although BitBucket is gaining notability in this regard.
I do wonder about the long term viability of BitBucket offering private repositories, as surely the cost of doing so will increase over time - with storage costs in particular. Then again, the same applies for GitHub and its generous hosting of public repos.
At the end of the day you get what you pay for, there are a handful of good reliable paid for services that can offer the best of both worlds - such as Codebase HQ which has git and project hosting for a small monthly fee, they charge by tiers of storage space used, users and number of projects - but each project can have unlimited repositories!