Existem pequenas diferenças na funcionalidade oferecida, mas ambas podem ser usadas para alcançar a mesma coisa. De fato, aqui está o que a página de manual para reboot
diz:
When called with --force or when in runlevel 0 or 6, this tool invokes
the reboot(2) system call itself and directly reboots the system. Otherwise this simply invokes the shutdown(8) tool with the appropriate
arguments.
Além disso, parece que as informações de RUN-LEVEL para ambas as operações são as mesmas. A julgar pelas páginas de manual de reinicialização e desligamento, parece que o desligamento fornece um pouco mais de funcionalidade de nível inferior, e a reinicialização é uma ferramenta de nível mais alto que usa o desligamento.