From my personal experience running GitLab and Forgejo (Gitea Drop-In replacement/Fork):
Gitea/Forgejo is easier to get running
UI is less bloated/faster
GitLab redesigned their UI and imo it’s shit now
No features locked behind a “Pro” Version (Pull or Bidirectional mirrors are for example unavailable on GitLab self-hosted unless you shell out for premium)
Gitea Actions is a lot more intuitive than GitLab CI, this is likely personal preference but it’s still an important factor