I have both, and I use both, for different purposes. I also have the Developer paid GitHub account through GitHub student, but I won't up it after graduation.
For me as a hobby dev, GitLab having private repos for free is the biggest draw. They also integrate snippets in the main site, instead of Github having Gists off in their own little world.
For me as an engineer trying to look good, I like Github since it's the "default" community for coding. It provides visibility into what I can do and how I play nice with others :P Gitlab just doesn't foster that community feel the same way.
Gitlab bases its pricing and feel all around the CI experience, which is fun for dabbling into devops kind of stuff. They have really solid documentation around the whole slice of web development on their platform.
Github Pages is a nicer experience than Gitlab Pages for hosting (in my opinion). It's easy to set it and forget it, so spinning up a free static site just takes minutes on Github instead of having to tinker a bit for Gitlab. For my notes, I clicked one button and it turned my README into a website. Like, that's awesome!
The biggest thing that I like about hosting on Github, though, is that your domain name can be used across all your projects. My homepage is itsasine.xyz , my soon-to-be blog is at itsasine.xyz/blog , my notes are at itsasine.xyz/resources . For hobby work, I don't want to buy a name for every repo, or to have one bloated repo to keep everything under one name (which I have to do on Gitlab as of this writing). My "portfolio" site under my real name is on Gitlab Pages, but it's only one repo and I keep it private and unindexed, so that works for me.
Hahah What a coincidence I am using the same theme
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.