As soon as I hit the submit button, realize I forgot to mention this.
IE6 was the one that was buggy. So much so, that when IE7 fixed a lot of those bugs, it ended up breaking a lot of sites that were written in such a way to assume that those bugs would be there. Pop over to the web development forums some time, and you shouldn't have a hard time finding someone willing to vent for a few pages about the frustration of trying to write pages for IE6 that will also work in other browsers.
Don't blame IE7... Blame Microsoft for intentionally making IE6 render things differently to try and get people to write sites that would only work in IE. Blame Microsoft for letting IE6 rot for 5 years or so, with only updates to fix security flaws, and not a single update to add support for new web standards. Blame web developers who wrote pages that rely on IE bugs to work. Blame those deserving of blame.