This is with regards to the US restaurant/food service industry only, as that is where my experience lies. It is exceptionally rare (though it is getting better) to go to a restaurant and pay what it actually costs to put that plate of food in front of you. There is an assumption that the price on the menu is enough to cover the total cost of the plate, however this is generally not the case. Often it is enough to cover everything except for an amount that would bring the staff wages to a sustainable level (generally allowing for a not insignificant cut going to the owner, and another cut going to the landlord), which means that tips are required in order to keep staff in the restaurant. I’m not saying this is a good/bad practice, I am just stating how it usually works. Customers who are not willing to pay more for a plate when ordering are often willing to pay an additional fee (tip) for the perceived added value of “service.” There are always people who will only ever pay the bare minimum and won’t tip. There are always people who are generous and appreciate the plight of the food service worker in the US and always tip. These two types often balance in the favor of the worker in the long run, if not on a daily basis. And the average customer tipping the generally accepted average percentage keeps things afloat.
This is the system we have in the US. It has functioned for a long time to provide both the owners and workers a livable income. Do I think this is a healthy practice for a thriving society? No. Am I trapped by the society I exist in and have very little personal ability to combat? Yes. But of the few ways I have to combat this, taking money away from the workers so that it only goes to the owners is not a tool I chose to use.
Instead I prefer to spend my money at places that are actively working to upend this practice: worker owned restaurants, co-ops, places that pay a livable wage and discourage tipping, etc., but I’m not about to punish those that are also trapped by the system. I am more than happy to name and shame owners who don’t treat their employees with respect, nor do I believe that non-worker owners should be a thing, period.
But to not tip is a form of protest that only hurts those most punished by the system, and does absolutely nothing to impact the people who are perpetrating the system. Basically it is the most ineffectual thing one can do.
If you really want to hit ‘em where it hurts, do something that actually hurts the owner’s bottom line… Like publicly shaming the business owners greediness by writing a low score review that praises the workers, food & service while calling out the owners for not paying their employees a livable wage. Or being in cahoots with the servers and getting items comped in exchange for a larger tip (effectively paying the worker instead of the owner). There are ways, you just have to find them. Just don’t kick the already down workers in doing so.
Edit to add: I wrote this while riding the bus home at the end of my workweek (6 doubles at 3 restaurants so no overtime for me, yaaaaaayyyy), so please excuse any non-sequiturs, idiosyncrasies, unconnected thoughts or errors as being due to my deliriously exhausted mental state.