I've had the same experience with Audible, who make it easy to sign up but not easy to stop auto-renewal. To cancel, I had to email and they replied asking for my billing address 'for security'. They then proceeded to argue with me, telling me that their policy existed because they "like the interaction with the customers". I on the other hand did not enjoy the interaction with them.
To me it looks like the companies are getting an extra payment in before a customer manages to cancel (weekends, out of hours, remembering to), and increasing the costs of their customer support.
This is what credit card chargebacks are for. The punishment for failing to honour cancellations (which DO NOT have to be via the approved route, provided there is evidence that the company should have seen it - the reply from the CSR drone in the Zagat thread would be enough) is pretty high.
There are reasons for this.. the biggest one I can think of if someone wants to cancel for some reason that can be fixed. Maybe they can't figure out how to use a feature, or they've run into a bug with a fairly easy fix. If you've got automated cancellations, they are gone. However if they have to talk to someone, and they mention it's because of this, then you just kept a customer. This happens very frequently where I work.
That being said, the fact that you have to call them is really unacceptable to me, since email is nicer for pretty much everyone involved.
Then say so. Have an online cancellation option that says "We find that many of our customers who are canceling stay with us, if we get a chance to try to fix it. If you're canceling because of a problem with the service, check here to have someone contact you to attempt to resolve it. What time would you like us to call?"
I can't believe someone from Zagat isn't all over this issue, responding on the forum, their blogs, and going out of their way to apologize to those unhappy customers. This is 2008. Word spreads like wildfire online. The flipside is that doing something unexpectedly nice to your customers also spreads.
To me it looks like the companies are getting an extra payment in before a customer manages to cancel (weekends, out of hours, remembering to), and increasing the costs of their customer support.