SySVInit
Referindo-se a sistemas Linux mais antigos que ainda usavam o SySVInit e o processo de runlevel. O entendimento correto seria que ele só vai para o nível de execução. O nível de execução tem serviços específicos associados a ele e somente esses serviços seriam iniciados. Para esclarecer, porém, um serviço pode ser associado a vários níveis de execução. Portanto, se um serviço estiver configurado para iniciar com o nível de execução 3 e 5. O nível de execução pode iniciar esse serviço. No entanto, se um serviço for associado somente ao nível de execução 3, a execução no nível de execução 5 não iniciará esse serviço.
Upstart
O Upstart também ainda usa e reconhece runlevels, mas de uma maneira mais robusta do que o SysVInit. O método de manipulação de runlevels era o mesmo que o SySVInit.
Systemd
O Systemd não usa runlevels, mas sim alvos. Os alvos utilizam serviços iniciados em paralelo e têm outros recursos interessantes, tornando-os muito melhores e mais rápidos do que os dois sistemas baseados em "init" anteriores. No entanto, o Systemd ainda possui o mesmo princípio na área para a qual você está perguntando. Se eu fosse para "runlevel" ou meta "gráfica", ela não passaria por "multiusuário" ou qualquer outro alvo antes.