Bitbucket is in a weird position, in that Atlassian can't make the best Git hosting solution. It's not that they can't technically, it's just that they have complimentary products that cripples how good you can make code reviewing (crucible), issue tracking (jira), analytics (fisheye), wiki (confluence), and so on.
GitHub and GitLab are not bound by the same constraints, and can focus on creating the best end to end Git hosting product. While Atlassian has to be careful about cannibalizing other product lines.