I've been using the reCaptcha (now Google) spam prevention system (it requires users to type in letters from an image to verify that they're human and not a spam bot) for some time now, and for the most part, it would catch at least 80% of the spam coming through.
I don't know if spammers have gotten more intelligent or if the reCaptcha system is outdated, but it hardly appears to be catching (preventing) any spam comments anymore! Does anyone know of a better alternative to ReCaptcha?