[eluser]Blazeme[/eluser]
In my opinion, CAPTCHA is only secure way to avoid bot spamming.
Although, questions are also hard for bots (like: is 10 > 2 ? and etc, like cahva said).
I did made BOT in C# .NET once (it was for Windows).
Just wanted to try few things.
It worked this way:
I set method (post or get), enter how many times page will be visited (or form submited), enter arguments (like: name=Me&subject=Spammm&text=Something goes here), and press button.
Ofc, this wasn't bot that would go and search net and so on, but did worked well, if there was no captcha/questions.
As far as javascript concerned I could just type: &js_field=something and that's it..
And ye, CAPTCHA is only annoying when you post many times something (for example chat of some kind).
But, for email form - it's simply must.
After all, guest won't contact your like 43424 times in row, and typing few letters in box isn't so hard...
( And ye, just don't make CAPTCHA too hard to read, if you decide to use it

)