If you are dealing with a lot of spam (who isn't?) and you find that lots of spam is getting through your filters, I just saw a cool idea for this problem. As you may know, I am the author of CFFormProtect. While I find that this works 99% of the time, there is the occasional spam that slips through. I was on a site recently that didn't have a Captcha to protect their comment form, but when I submitted my post their spam filter somehow flagged my as a spammer, and then they asked me to fill out a captcha. I think this is a great idea.
If you are familiar with CFFormProtect, you will know that it has a weighting system to flag spam. Posts aren't blocked for any one problem, but rather CFFP takes up to 8 different tests, and if the posts fails x amount of those, it is blocked. So taking the idea I talked about in the first paragraph, maybe you allow posts through that pass 90% of the tests. A post that only passes 70% of the tests might be asked to do some additional validation (maybe a captcha, or moderation, or an email verification). Anything less than 70% is automatically flagged as spam. These numbers are just an example, your mileage will vary. What do you think of that idea?