Email clients are definitely to blame.
But is that the cause or the effect?
Rather, are email clients still a mess because developers don't have much interest in topic? Even gmail has strange html/css rules, if google pulled that with chrome there would be pages of developer outrage here on HN, almost no one seems to care about gmail's html rendering, or enforcing a spec/compliance for email clients, developers are apathetic about it.
What I'm saying is, developers don't like working with html email because its a mess, but its a mess because the development community as a collective doesn't seem to care about it, at least not enough that there is a concerted effort to fix it.
Addressing that specifically, a couple years ago when Gmail's HTML rendering was even worse than it is now, the Email Standards Project started this http://www.email-standards.org/blog/entry/getting-some-gmail... to try to embarrass Google into improving the rendering. It sorta worked.
I feel like HTML email design lags about 5-10 years behind website design. Some of that is the limited feature set, but I think more of it is the lack of design attention its given. It seems like most of it gets generated by a marketing department using some crappy marketing campaign templating software from a decade ago with little to no thought to how the output is consumed.