公式、ではありませんが、ほぼ公式では次のように記載があります。
HTMLCollection
HTMLCollection - Web API | MDN
NodeList
NodeList - Web API | MDN
両者は似ているようですが、別物で、
プロパティやメソッドの違いはもちろんありますが、
最大の違いは、
**ライブ(HTML Collection)か静的(NodeList)**かの違いでしょう。
HTMLCollectionは、ライブのため、
DOMをコントロールした際、その状態が変数上でも反映されます。
NodeListは、DOMをコントロールした際、
HTMLには反映されますが、変数上では反映されません。
これは、おそらくですが、
ライブとは、DOMそのものを参照している状態であるため、DOMの変化も反映される、
静的とは、取得時点でのDOMのみ取得(コピーに近い状態)し、HTML上のその後の変化は追わない状態のものである、
と言えるかと。
ただし、MDNの記載にある通り、
NodeListにおいても、childNodes
などの、プロパティはライブである、など、
一概にNodeListが完全に静的とは言えないので、なんとも言えません。
このライブか静的かの違いを理解するには、
JavaScriptの参照に関する仕様の熟知が必要になりますので、
今段では、そういった挙動の違いがあるんだ、と覚えておくとよいかと。