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.