Warden is neither a separate application nor does it attempt to disable hacks in any way. The structure of it is basically equivalent to a trojan which pulls down (theoretically trusted) code from a known location and then runs it. This code than carries out various checks (the vast majority of which are hashing locations in memory to detect patches for things like bot event handlers) in order to mark an account as 'suspicious'. Blizzard then waits until they have a sufficient number of 'suspicious' accounts and executes a ban wave (there are some notable exceptions, which can result in instant-bans, but these are targetted at specific known hacks like Glider or D2JSP in Diablo II, not for general cheating).
My point in explaining this is twofold: First of all, you should know that Warden is very unsafe by design. You're giving someone the power to execute arbitrary x86 instructions on your machine, likely with full administrator access if you're using Windows. There exist private re-implementations of the Warden server code that are deployed on private emulated servers, and these can be malicious. I say this as someone who has written custom Warden modules. Secondly, and more relevant to the question as stated, Warden is not a prevention tool, it is a punishment tool and a major invasion of privacy. If you are a game developer looking to implement a similar system, I strongly advise against it, as it opens many cans of worms, and will still fail. Since it involves dynamically loading code there are many, many ways to screw it up, a lot of which will be hard to find in standard testing. Warden aside, Blizzard's only real effort to stop hacks from being made in WoW is their attempt to stop Lua plugins from doing anything close to botting (and even this chas been circumvented numerous times). And as others have said, it is fundamentally impossible to stop hacks, even with a system as dynamic as Warden. Even without touching the game's memory, packets and screen-reading are more than sufficient to make an advanced bot (look at mm.BOT and RedVex, or any of the oldschool AutoIt bots that work entirely on pixel detection).
The best way to stop bots, in a game or otherwise, is still to use a CAPTCHA of some kind. It doesn't have to be a distorted image, though. There are many ways to integrate human-or-AI tests into games that are at least somewhat transparent to legitimate users. If you make the system modular enough, you'll be able to make updates much faster than any publicly released hack will care to update their code.