When do we get to throw the whole thing out and start again?
When we implement Display PostScript in js, so we can use it for the web? HTML+CSS for publishing static, stand-alone documents isn't all that bad. It's terrible for making "applications", and it's terrible for composing more than one thing into a page (such as a header, footer, table of contents/menu). I still think Adobe's idea[1] of flowing content through boxes (aka the "desktop publishing way") makes more sense…
[1] https://en.wikipedia.org/wiki/NeWS
NeWS was architecturally similar to what is now called AJAX, except that NeWS coherently:
used PostScript code instead of JavaScript for programming.
used PostScript graphics instead of DHTML and CSS for rendering.
used PostScript data instead of XML and JSON for data representation.