A second reason programmers think that their code is a mess is that it is
inefficient. The rendering code in Netscape was rumored to be slow. But this
only affects a small part of the project, which you can optimize or even
rewrite. You don’t have to rewrite the whole thing.
Mozilla is rewriting most of the internals of Firefox one component at a
time, as explained in introduction of
https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-engine-quantum-css-aka-stylo/
It keeps on releasing incremental updates of its Web browser every six weeks.
Mozilla's development strategy therefore is significantly different from
that of Netscape in the late 90s:
It’s a bit smarmy of me to criticize them for waiting so long between
releases. They didn’t do it on purpose, now, did they? Well, yes. They did.
They did it by making the single worst strategic mistake that any software
company can make: They decided to rewrite the code from scratch.