You can also enable options for it to act as a mirror or to make GitHub act as the mirror for Gitlab. I'm not sure whether there is a mode to keep the issue threads synced as well without manual intervention. That'd be full data portability.
Sure, there are exceptions and optimizations for specific services but overall it did increase portability of server applications quite a bit. Maybe the times were you just need that legacy windows 2000 server encapsulated with 7 firewalls and proxies are finally over.
I usually prefer to host my stuff on private servers, but people unreasonably want to put as much software as possible into cloud providers. I think the reason for that is more often cocaine abuse and wanting to be hip instead of technical/financial arguments, but it is what it is.