IE didn't start that, it had to accept that shit because everything else did long before it. I'm not even sure what browser started it. I'm positive that the first graphical browser I used (Cello) did, though.
I'm not even sure it was really considered a bad thing at the time.
P: Paragraph mark
The empty P element indicates a paragraph break.
The exact rendering of this (indentation,
leading, etc) is not defined here, and may be a
function of other tags, style sheets etc.
To whit, the well-formed, "good" example:
<h1>What to do</h1>
This is a one paragraph.< p >This is a second.
< P >
This is a third.
Yes, with spaces and alternating case. This was the standard before
IE6 came out, so it's not that crazy that they closed up some bold and
italics tags -- I'm not entirely sure if there were (are?) any other
SGML dialects that were quite as loosely defined as early "HTML" was.
I think IE6 did a lot of awful things, but the only real "damage" done
was in borking the CSS implementation (especially the box model). The
fact that it rendered crap HTML sort-of-ok wasn't all that bad.
It was the crazy things it did with, lets say.... specially crafted
HTML that led to a lot of problems. And MS FrontPage's insisting on
adding COLOUR="#000000" (black) to all documents, and assuming
BACKGROUND was set to white did a lot to break semantic mark-up.
Oh yeah, I'm not saying IE6 didn't do a lot wrong, just that this wasn't one of them.
But I also think it's worth remembering that IE5/6 also featured a lot of early experiments in things that are now considered essential components in the web. XMLHttpRequest was a huge advancement, and while ActiveX was obviously crappy it was at least part of an attempt at creating a more dynamic web.
I'm not even sure it was really considered a bad thing at the time.