The only reason it carries on is because that's the way it's always been. If everyone in the US stopped tipping tomorrow yes there'd be a lot of poor waiters and most would probably quit. But then the restaurants, if they wanted to keep their staff (and therefore remain in business) would pay their staff more. Those that didn't would close down.