HTMLCollections creates an array-like structure of DOM element nodes.
NodeList creates an array-like structure of node elements such as element nodes or text nodes.
While both are collections of nodes, generally NodeList can hold different kinds of nodes, while HTMLCollection generally holds only element nodes. Additionally, NodeList items need to be accessed by the index of the NodeList Item.
HTMLCollections and NodeLists are pretty similar, but have slight differences which may be of use in certain situations.