Git is the actual technology for source control, and GitLab is the Web UI or interface for Git.
There are many others in the market such as Bitbucket, Github etc. They allow you to host the code on their servers which has Git installed, and allow you to do the most common activities such as branching, tagging, review and merging via the interface using button clicks or form submissions. Git is command line based, and not everyone likes to write and fire commands. Hence these interfaces were written in order to simplify the related tasks. The work that you do with Git locally is also command line based, if you are not using an application to ease it for you. Most of these web interfaces are paid, and provide the same features using different names calls a review and merge activity as a ‘Merge Request’, however most others will call this as a ‘Pull Request’. They provide a few seemingly new features, and charge for it, however under the hood its just what the Git runtime provides via commands.