RouterModule.forRoot (ROUTES) vs RouterModule.forChild (ROUTES)

Quais são as diferenças entre esses dois e quais são os casos de uso para cada um?

odocs não são exatamente úteis:

O forRoot cria um módulo que contém todas as diretivas, as rotas especificadas e o próprio serviço de roteador.

O forChild cria um módulo que contém todas as diretivas e rotas especificadas, mas não inclui o serviço do roteador.

Meu palpite vago é que um é para o módulo 'principal' e o outro é para qualquer módulo importado (já que eles já teriam o serviço disponível no módulo principal), mas não consigo pensar em um caso de uso.

questionAnswers(3)

yourAnswerToTheQuestion