The central problem of B2C tech companies is that their value proposition is to make complex things simple enough that the everyman can have them. When things go wrong, they can go wrong in literally millions of ways, because there are literally millions of everymen. Fixing those one-off problems is not a scalable business proposition.
Companies like 37signals and Craigslist manage to keep a good rep for customer service by ruthlessly pruning what's expected of them. 37signals wants only a certain type of customer, usually a fairly technically savvy small business. If your needs differ from that, 37signals' customer service sucks as well, but they just say "We don't want you as a customer" and that's that.
Craiglist works by managing expectations - they're a classified ad service, no more, and no less. If the hooker you paid for turns out to be an FBI agent, that's your problem. If the contractor you found turns out to suck, that's your problem. There's no expectation that Craigslist will fix it, while there is a widespread expectation throughout the general population that Google is the Internet, and if the Internet sucks, it's Google's problem.