I asked some friends (that run sites) about some of the bot problems that I have seen here and here are some replies I got from them.
to register for the forum is there some bot test? like a visual thing? is there an email check?
that'll keep out many bots but really some spammers are persistent so you have to ban some emails and ip ranges too. it's a constant battle really.
-------------------------------------------------------------------------------------------------------------------------------------------------------
It's difficult to prevent, because as Ontain said some are very persistent. They will sometimes use a captcha solving service (think distributed captcha solving) or monitor it themselves while running these mass signup services.
An easy win is to implement at least a basic captcha, that will catch many of the automated signups. Another way is to use some of the more innovative/obscure ones out there that require you to draw or solve some sort of problem/quiz question.
Here's a list of some decent ones out there: http://www.1stwebdesigner.com/freebies/captcha-solutions-kill-spam/
If it's a game driven site, you may even consider some of the more silly/fun ones like http://www.securitystronghold.com/products/ironclad-captcha/?product_tab=example
One more option I forgot about, is put a hidden field into the form. Humans won't see it and won't fill it out, but a bot will attempt to fill it out and submit the form. You can then do a post check to see if the hidden field has a value, if it does then you can reject the submission.
If you have any other questions dealing with site management etc if you want I will ask him about it. He is pretty knowledgeable and doesn't mind helping with what he can.