Akismet does a great job capturing comment spam, but I think it'd be nice if there was an easy way to stop the spam bots from filling out the forms in the first place. This idea might be better suited as part of the Akismet plugin, but I thought I'd start here. Here's my idea...
The idea is to use fake ID values on the public HTML comment form and then translate those ID values to the real ones when comments are submitted. This translation would occur inside WordPress PHP code.
For example, the default ID value for the name entered into a comment is "author". I assume spam bots look for the ID "author" (and other possible names) when filling out the form. What if that field's id was changed to "453n43nk4%#"? When the comment is submitted, WordPress would know that "453n43nk4%#" = "author". However, when a spam bot fills out a form on the site or submits a comment via a HTTP call, they would look for/send over "author" and WordPress wouldn't know what to do with it because it wants to get "453n43nk4%#".
If this worked, you could go even further and have WordPress generate a new ID code each day/session/etc.