What’s so much better about it? I use both and I don’t see significant differences, but I’m happy to be enlightened.
Parent child pipelines
Shared pipelines across multiple projects
rules: have far more flexibility than githubs if:
GitLab is very easy to fan out CI/CD runners on your own k8s infra.
It has a wider feature set and is just generally easier to use. When I had to set up GHA I was constantly surprised with how hard some very basic things were that were trivial with GitLab CI.
GHA was based on Azure Actions, which was never intended as a CI system nor meant to be used in a context where actions could be malicious. So it's the wrong tool for the job that had to be adapted to fit another use case, straying from its original design principles to make it work.