Blizzard is not interested in keeping botters/farmers/etc permanently out of the game.

Think about it.

Who purchases retail copy after copy of the game on each ban? Farmers. Bliz uses the ToS as a reason to ban whomever they want, but they want to throw a carrot out to the farmers - buy and subscribe to our game, and we'll let you farm/sell gold for awhile. Long enough to make a decent profit, especially considering low hourly wages where farmers work, but for this business service we provide, we're going to make you purchase our game again and again. Scratch my back and I'll scratch yours.

No one is going to quit WoW due to the *relatively* low number of these cheaters & farmers. They won't let it get to the point where it's totally out of hand, but they're definitely not going to intentionally eliminate it completely either for two financial reasons:
- Cost of extra help to maintain a completely cheat-free service.
- Loss of retail & subscription purchases from farmers.

I fully believe Blizzard could completely eliminate botting & farming if they wanted to, but that's the point.. they don't want to. They're making too much extra profit by allowing a limited amount of it to remain.