mack - 9:17 pm on Apr 22, 2010 (gmt 0)
Its a bit of a battle, I don't think there is any way you can total keep the bots from registering but there are a few things that can be done. If you are using a common forum script you might be able to change the form field names within the html. This can sometimes reduce the numbers because the people who run the bots aren't going to change something simply for one site. The bots are built to go after a common trail. If you can deviate from this trail you're doing well.
Captchas are another useful tool. They do frustrate some users, especially the ones that are hard to read, but again they do work well for putting off non human registrations.
The most effective method I have found is to require email validation when a user signs up.