@HungryGuy The honeypot technique entails that you add a field that should be left empty, but use CSS or Javascript to hide it for the user (and additionally, for users relying on assistive technology, you add a natural language message saying the field should be left empty, hidden by the same methods). Since spambots mostly do not support CSS or Javascript, they will see the form and, being the bots that they are, enter some details in it (like an email address). Thus, when the form is not empty, you can expect that to be a bot, without having to disturb your regular users. In other words, you’re asking the bots to prove they’re bots ;-)
Additionally, I often rotate between different methods of hiding the fields so the chance is even smaller a bot will know how to get around my particular method.