It is just a matter of hiding it from the bot. Some bots may be smart enough to not edit hidden form elements, some may check visibility or even position. The nature of the honeypot is such that not every bot will get their hand stuck in the jar.
Captcha and obvious question should be much more reliable, but unfortunately not all spam is done by a bot.