As much as I agree with you, at the same time obviously I can't have it broken on a browser with such a massive market share!
Most (read: ALL) problems with IE come from its fascinating standards compliance. Before IE7, IE's code base was highly based around Mosaic, a relic of the "good old days" of the interwebs, bought by MS before most people had ever used this magical technology. As such, its technical model under the bonnet was... Shaky, at best. It had some very interesting ways of implementing standards - due mostly to the fact that they were being implemented on an archaic browser.
With IE7 came an interesting twist - it worked off a brand new code base, and as such was highly standards compliant. The problem with that is that guys like myself who are used to coaxing IE5/5.5/6 into behaving as intended are having problems... Mostly self-inflicted, of course. Certainly every web dev I've worked with has also used FF. "Great", you would think? "Ed's just said IE7/8 is highly standards compliant, and I know FF is...".
The problem arises from the fact that IE is now a lot stricter than FF in how it implements them... For instance, FF is relatively forgiving of simple/minor JavaScript syntax slip-ups (commonplace when your JS is generated on the server dynamically) however... IE isn't.
In this code monkey's view, as strange as this sounds, IE is correct in its lack of tolerance and FF is actually at fault for helping to breed bad practice.
Just a lowly code monkey's two-penneth
