vBulletin already offers a lot of buildin protections against registrations by bots (automated) like CAPTCHA (Image Verification), Email Verification or Registration Moderation. These will however not always protect you against human-assisted bot registrations (registration process automated, a human provide the CAPTCHA verification).
Unfortunatly there is no way to block all human-assisted registrations, adding an extra question to the registration process can however frustrate this type and often they will simply skip your board because it is causing them too much work.
How to add an extra registration question to frustrate human-assisted bot registration?
AdminCP -> User Profile Fields -> Add New User Profile Field
Profile Field Type: Single-Line Text Field
Use the following information when creating the Profile Field:
Title: Can you spell?
(Note: Adjust the title to the question you want to ask)
Description: Enter the first character of the word "Monkey"
(Note: Adjust the question. Don't use this example as it would be quickly picked up by bot registrations)
Default Value: B
(Note: anything but a valid answer)
Field Required: Yes, at registration and profile updating
Field Editable by User: Only at registration
Private Field: Yes
Field Searchable on Members List: No
Show on Members List: No
Regular Expression: ^[mM]$
(Note: this expression would only allow a 'm' or 'M' as valid answers, adjust to your needs)
This is not a fool proof solution, but will probably limit the number of semi-automated registrations.