The difficulty of implementing the Web platform comes from many things, from the difficulty of implementing JS to the complexity of the DOM to how subtle CSS is to complex, far-reaching APIs like ServiceWorker and WebGL to unspecified behavior depended on by sites. There is no one reason.
I will say that the DOM is one of the better-specified areas of the Web platform. CSS 2.1, for example, is significantly worse. And the table layout specifications are in a miserable state (one of the reasons why it drives me crazy when people suggest going back to table layout for "simplicity").
I will say that the DOM is one of the better-specified areas of the Web platform. CSS 2.1, for example, is significantly worse. And the table layout specifications are in a miserable state (one of the reasons why it drives me crazy when people suggest going back to table layout for "simplicity").