Oi estudante, tudo bem?
Desculpe a demora em retornar.
O DOM (Document Object Model) contém inúmeros objetos, como window
que representa uma janela do navegador, e document
que representa o conteúdo da página. E dentro desses objetos, podem conter listas de objetos, as NodeList.
De acordo com a documentação MDN objetos NodeList são coleções de nodos semelhantes aos objetos retornados pelos métodos Node.childNodes e document.querySelectorAll().
Em outras palavras, são coleções de objetos. Então, o DOM é formado de objetos, que podem conter NodeList de outros objetos.
Acessando a documentação linkada acima você consegue ver exemplos muito interessantes para entender melhor.
E quanto ao HTMLCollection, ele representa uma coleção genérica (objeto array) de elementos (na ordem em que aparecem no documento) e oferece métodos e propriedades para selecioná-los da lista.
Também indico a leitura da documentação MDN.
Em resumo, o HTMLColection é uma coleção de elementos HTML (div, p, a, img, etc...), e o NodeList é uma coleção de nós, como no caso do curso. E por isso é utilizado.
Um abraço e bons estudos.