I operate a service called RunBuildRun that sells managed GitLab runners that run on DigitalOcean droplets. I have lots of droplets. I may need to bump up my price a bit :)
The primary value over GitLab's runners is that RunBuildRun doesn't have any CI/CD minute quota. With GitLab, you get a finite quota (e.g. 400 minutes on the free tier) and then you have to upgrade to a per seat premium plan or buy additional CI/CD minutes.
Also, RunBuildRun gives you a dedicated runner so you don't have to wait on shared runners and you don't have to setup/manage a runner on your own server.