What is the difference between `gitlab-runner start` and `gitlab-runner run`

What is the difference between gitlab-runner start and gitlab-runner run?

The documentation is not very clear on this:

gitlab-runner run

This is main command that is executed when GitLab Runner is started as a service. It reads all defined runners from config.toml and tries to run all of them.

The command is executed and works until it receives a signal.

gitlab-runner start

This command starts the GitLab Runner service.

Furthermore, I've found that installing and registering a runner and then starting it as a service is sufficient to get it working. What, then is the purpose of the run command?

Thanks