Possible Duplicate:
How can I prevent spam on sites which I control?
Are there any recommended admin tools or interfaces for reviewing and moderating spam on a community-driven UGC site?
Possible Duplicate:
How can I prevent spam on sites which I control?
Are there any recommended admin tools or interfaces for reviewing and moderating spam on a community-driven UGC site?
There aren't "best practices" for that. To stop spam you need to be creative. Don't use the traditional type of captchas which ask the user to enter some text from an image into a text box. As an owner of a big forum hosting company I can guarantee these Captchas do not stop spambots, not even the hyped ReCaptcha.
Think of some security question anyone would know how to answer. For example: "Which number is larger: 1 or 328?". For a number of reasons this is a fairly effective way.
Akismet is also nice but that is if you don't depend too much on user input because it often flags legit comments as spam comments. So it's not useful for forums, only for blogs and similar websites where you can afford to lose an user or 10.
While perhaps a little dated, this is a good starting point if you're trying to think about developing something: A Plan for Spam
Usually moderation tools are built into the application/CMS you're using. If you're talking about automated spam-detection tools, then Akismet has a pretty good reputation for blocking spam on blog comments (you can use their API for any type of content though). And then there're also CAPTCHAs and bot-traps, which can also be very effective when employed strategically.
User policies are another good way of preventing spam. For instance, peer moderation works quite well on large sites. StackExchange's policy of requiring a certain amount of reputation before allowing links/comments is also very effective.
When all else fails, hire some paid moderators to patrol the site and delete spam posts and ban spammers.
Edit:
Virgil brings up a good point about the ineffectiveness of the popular text-recognition CAPTCHA technique. I can't find any good stats on the latest ReCAPTCHA tests, but most advanced bots have good enough OCR to defeat them within a few attempts. Luckily, the smaller the site you operate, the less effort spammers will make trying to defeat your CAPTCHAs. So for many sites, a well-designed text-recognition CAPTCHA paired with a bot-trap field is enough to deter most spammers. But if you operate a larger site, you may need to get more creative or use an image-recognition CAPTCHA like Microsoft offers.