Imagine you operate a DevOps platform as an alternative to the situation where every project has to set up their custom DevOps environment from scratch as the only alternative.
With GitLab Runner, you were able to have a quite easy capability to use a combination of Docker Machine plus some cloud tier driver to manage an on-demand pool of Runner instances.
A virtual machine instance per CI/CD iteration might sound like an overkill, but you want this if you need more isolation guarantees beyond simple containers.
Also you need the isolation because you want to allow users run their own containers.
Now what has happened, and the impact of it is
<number of GitLab customers x number of users>, that Docker Machine project went into maintenance mode and there are upcoming issues.