GitHub and GitLab and Bitbucket are only code repositories, and nice web interfaces to interact to your git repository, Git as it it's the version control, like Mercurial, Subersion or CVS.
The point here it's to see what characteristics have everyone and decide what is the best for you. For me, for open source projects is GitHub, and for private repositories if you don't want to pay Bitbucket, that have the possibility to interact with all the atlasian ecosystem :)