We use a honeypot. There is a field on the registration page that is hidden using CSS tricks. If it is filled in when registering, the registration is ignored because no human would ever have even seen it.
Captcha’s don’t work. People are paid (tiny amounts) to break them.
I have been searching the Internet for fun and came upon your website. Fabulous post. Thanks a ton for sharing your knowledge! It is great to see that some people still put in an effort into managing their websites. http://gexton.com/