Git is the core DVCS technology, making it different from the rest which are hosted services. You can self-host Git but most people I know use a hosted service or behind-the-firewall product (like Bitbucket Server) rather than doing it themselves from first principles.
The hosted services like Github, Bitbucket, Gitlab etc broadly do the same thing, with differences in their approach and focus. If you are really asking how to choose between those you really need to go through your team's requirements, consider which tools you need to integrate with, team size and cost, etc.
Sergio
Web Developer & curious mind
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 :)