Way, way back in 1993, Marc Andreessen (the creator of Netscape) was working on Netscape's predecessor "Mosaic." The web was already in existence, but the language of the web, HTML, was still in its infancy. During that time, the Mosaic browser added a new feature that led to the web site rush of 1995-96: images. The Mosaic browser could display graphics within a web page. Suddenly non-geeks started to get interested in the web and that started it all. It also marked the first shot in a browser war that has continued to this day. Suddenly web page authors had a problem. Now that they could use graphics as navigation buttons, how would all the web users with Lynx text-only browsers view the page? Or what about those people using a 24-baud modem with the image feature turned off? Fortunately there was a simple element to solve this problem: the "ALT" tag. If a web page author added "ALT" text to an image, the text-only browser would display the text in the graphic's place. Of course not all web page authors knew about this, or bothered to add the "ALT" text if they did.
Browser compatibility issues like this were destined to become the bane of a web developer's existence.
Marc Andreessen, seeing the potential for the web to become much bigger than it was at the time, saw an opportunity to build a much better browser than Mosaic, and so he did. Netscape, then known as Mozilla, was released in October of 1994. It was cool. It allowed you to change the colors of links and visited links. You could add background colors and graphics. No more gray web pages with blue and red links! Of course, if you were still using Mosaic, you were out of luck as far as these cool new features went. Most web page authors (yet to be referred to as designers) would simply add text or a graphic saying "best if viewed in Netscape" to their pages.
Now that the look and feel of a web page could be (somewhat) controlled, designers began to take a real interest in the web. Many designers were unaware of browser compatibility issues, but this was not a major problem since there was only one dominant browser anyway. Additionally, the typical web user did not have high expectations for how a web page displayed in their browser. If a site wasn't generic gray it was considered well designed.
The cold war begins
As if these divergent paths weren't difficult enough to contend with, market forces caused Netscape and I.E. to release new "beta" versions of their software on an almost monthly basis. Traditionally, when a company releases a "beta" product, it is usually to a small set of test developers for the purpose of finding and rooting out bugs and problems before it is released to the public. In the case of Netscape and I.E. they used the public as a beta test group, releasing buggy, unstable software to general users. So now developers not only had to determine how we would support the various browsers, but how to avoid crashing the buggy beta releases that were in constant circulation. Often they would have to code a web page with a "hack" to get around a certain bug in a browser. Of course in the next release the bug might be fixed, making the "hack" in the existing site broken in the "fixed" browser.
Before blaming everything on Netscape and I.E., we need to realize that they were just responding to a market that was demanding new features faster than they reasonably could be produced. They wanted cool layouts, better graphics, rollovers, animation, and all the bells and whistles that Netscape and I.E. were making possible. One of the most important features demanded by web page designers and users was the ability to control the type and layout of sites. Netscape and I.E. both responded by providing various ways to control these elements. Of course, each browser implemented the features with slight differences, and where a piece of HTML might work fine in Netscape, it might not work in I.E, and vice versa.
The theoretical ability to control design was increasing, and so web site users started getting used to (and ultimately expecting) cool layouts with awesome interactive features. Designers were under constant pressure to "wow" clients and site visitors with their designs. The more they tried to impress with intricate and original design elements, the harder it became to implement the designs, especially in both browsers.