I do believe, after having spent two years working in a web agency making IE/Firefox compatible sites for a living, that IE6 is indeed an awful browser. And I don't say that out of laziness because by now I have learned and have come across, and have broken my teeth on the majority of IE6 compatibility problems. I try to write cross browser Javascript and CSS that does not need hacks or special cases, or "browser sniffing".
Recently at work, I am working a intranet application with loads of Javascript and Ajax, I have been improving my Javascript skills which is great, more Object-oriented stuff. But I reckon I've finally come to the point where I am getting tired of the challenge and I no longer find the "subtleties" of IE interesting.
Case in point, I had to do lots of stuff with forms, and found that IE6 decided to change the node type of a SELECT box into a "select-one" or even "select-multi". You can spend hours like that wondering why your code is not working until you find out it's IE6 that behaves in a completely unexpected fashion.
I don't like to complain about IE6 because to be frank, you will often hear the same complaints from developers and css/html crafters (we call them "integrators" here), who don't have enough experience, and blame their lack of knowledge of the DOM, of modern Javascript techniques, on the IE6 implementation.
It's been my experience that by using modern Javascript and HTML, avoiding browser sniffing etc, it becomes easier to manage browser differences. But there is no denying that IE6 is in fact a big time waster and thus a big money sink.
At my day job, this becomes clearly apparent when I realize that most of my work involves getting the app or website working in Internet Explorer _6_ and Firefox. Once that's done the site is 99% working in IE7 (minor tweaks), and working 99.9999% in Opera, Safari and co.
It's incredible the amount of time and energy you can waste trying to get your site to work flawlessly in IE6. It's hard to make a good resource telling you in advance of all the pitfalls because there are so many avenues in CSS, Javascript, HTML.
I understand Microsoft's position at times though, M$ actually came with a lot of good ideas in IE, it's just that IE6 should never have remained the standard for so long. Hopefully with IE8 on the horizon, with a better support for old IE6 sites; IE6 may finally disappear. IE7 was supposed to replace it, but introduce many incompatibilities which made IE6 sites broken (your typical intranet site only tested on IE6...) and thus IE6 was not replaced in many environments).
While I would recommend anybody to stay away from the older IE6, I want to continue to support IE6 for now; so I am going to look at the bug. I simply didn't have time to look at it yet as I'm busy converting all my notes and todo's into a "Getting Things Done " system.