Well, CAPTCHAs were originally designed to filter out bots (signing up to spew spam) during signup and perhaps for a limited number of posts. As discussed, they're now usually harder for real people to solve than the bots! Filtering out real people that we suspect would be undesirable might be helped a bit by good questions, but you have to be careful about requiring such domain-specific knowledge up front (at registration) that you end up excluding good people who want to participate to learn. It's difficult to strike a good balance, and you will always end up having to ban and clean up after spammers. If you have some good moderators in different timezones, hopefully you can keep on top of it to the point where word gets around that your forum isn't worth spamming.
Any forum (SMF included), could certainly use filters to try to automatically weed out spam (hold it for review). It's not an easy problem to solve, but will become vital as automated "hard shell" defenses (stop 'em at registration) like CAPTCHAs and even Questions or Are You Human tests lose their effectiveness. Whatever we do, the spammers will go to work to defeat it (as they have with CAPTCHA), so it's a never-ending arms race. Some of the filters might also prove useful for stopping trolls and idiots, but nothing will be guaranteed.