Mat30: I just mean it shouldn't require thinking to answer. Esp if it's like most other forms, the good ones ask for the usual stuff and we know all users get stupid just magically by sitting behind a computer and filling out a form.
Mike Cherim had a (visible) honeypot that asked "is fire hot or cold?" and accepted "hot" as the answer. It did not accept misspellings of "hot" but I believe it was case insensitive. I think he also had Askimet there too.
I had a client getting gobbledygook bots going through filling everything in with lskdfkjshgkjhads and I added an invisible field that the back-end script would filter out if it was filled in, while the label said "leave this field blank, spam question". Not sure how good of an idea that was, since people are trained to fill in things, but it stopped all the gobblespam.
The reason I tend to hide them is, the fewer humans who see that field, the less likely I'll get someone screwing it up. Since if I'm using CSS to hide it, I've limited the users who might see it to text-browser users and screen readers, mostly. And bots of course. Then I have the label to tell those humans left how to deal with the form.
So the real solution a honeypot offers is, bots don't read. People read, and so do Mechanical Turks and human spammers, but bots generally don't. It's just that, as a confusing question, I'd prefer fewer humans see it if I can hide it.