I also don't get spam comments anymore. I use the most trivial captcha imaginable, and I use traditional error messages.
But honestly, I hate blog comments. Being able to read a number from an image doesn't mean that what your writing is worthy of being published. (I keep them enabled because I like the fact that people are occasionally so upset with my analysis of Java's type system that they want me to "die in a fire". Really? What exactly would that solve?)
My solution to this problem (in addition to Akismet) is just to manually moderate all comments; it works for smaller blogs like mine ( http://x264dev.multimedia.cx/ ).
This prevents pointless comments and flamewars--of course, it also means I probably won't let you flame me baselessly in my blog comments, but there's no free speech on a private website anyways.
There wouldn't be free speech on the private site, but there's nothing stopping a would-be commenter from writing their own rebuttal article, were comments disabled.
I like this better because there's a much smaller chance of a flamewar happening, and the responses will generally be well thought out.
I agree that filtering out the worst junk doesn't necesarily raise the overall quality to an acceptable level. It seems like there are two issues, which are related: [1] comments are too small-d democratic and [2] there doesn't currently exist a good mechanism for aggregating comments.
With the exception of a few places like HN, the best comments are treated about the same as bad comments. The absence of incentives leads to the absence of quality.
The other issue is related in the sense that if there was a good mechanism for aggregating comments across sites it would almost certainly serve to recognize and reward the best comments. Solve the fragmentation problem, and you get resolution on the first one for free.
But honestly, I hate blog comments. Being able to read a number from an image doesn't mean that what your writing is worthy of being published. (I keep them enabled because I like the fact that people are occasionally so upset with my analysis of Java's type system that they want me to "die in a fire". Really? What exactly would that solve?)