They were. They shouldn't have rewritten from scratch. They should have done this all in steps. Big chunky steps, fine, but steps. For example, they could have rebuilt the rendering engine — without touching any of the other stuff — as a first step. Then ship. Was there anything wrong with the networking library? I don't think there was. Even if there was, OK. So, fix it. One step at a time. Then ship. Then implement XUL and start converting some of the dialogs to XUL as another step. Then ship. Then port the existing UI — port, not rewrite — in XUL. Rather than argue about what the dialogs should have in them, you just recreate the existing dialogs exactly as is, only this time in XUL. Get that working. Ship. Then decide if it's worth changing the dialog. Is it? Ok, Ship again. Yes, getting from a messy architecture to a nice architecture costs time, but it doesn't cost as much as starting from scratch did. Over the period of time between Netscape 4 and Mozilla 1 they could have had three releases and still be where they are now. No, way ahead. And we'd have a real browser ecology instead of monoculture.
Being virtually out of the market for 4 years was a catastrophe for Netscape's browser market share and handed Microsoft a huge monopoly, and they don't need another monopoly. (Some people think it is entirely Microsoft's anticompetitive practices that got them 90% market share in the browser market. I just don't buy that. People used IE instead of Netscape 4.0 over the last four years because they liked it better, not because they were tricked into it or because it was installed on their desktop by default. Give people some credit.)
None of this means that Mozilla is not a good work of engineering and XUL may well be a real benefit to Apple and Linux, because application developers finally have a way to deliver to all three platforms for perhaps 110% of the cost of Windows alone. [Joel on Software]