Tipping for good service is preferable to the owner of the establishment paying their waitresses more on the base pay.
Heres why......
Lets say that you, Pizzly, work at a restaurant and your job is to serve food to people. The customer expects a somewhat good attitude from you, fairly quick service and as few fuck-ups on your part as possible. Lets say that you, just for the sake of argument, were a complete fuck up that couldn't get anything right. Screwing up orders all the time, greeting customers with a scowl on your face, generally shitty attitude. How much do you think you deserve? Do you think that you are worth as much as someone who has a memory like a steel trap, getting all orders right without even having to write it down, in addition to greeting the customer with a smile, maybe telling a witty joke or two to brighten their day a little?
NO, you are not worth as much as someone like that. Everyone knows this. Problem is, how does the boss keep track of who's who when it comes to delivering good service? He cant possibly follow each and every waiter/waitress around all day to find out himself who delivers good service to his customers and who doesn't. Instead, he relies on the tipping system to fix this stuff for him. With this system, the shitty waiter makes less than the good one and most likely, the shitty one wont stay at that job for long if he/she isnt getting any tips. If, on the other hand, you do away with tipping, the boss pays the shit waiter the same as he pays the good one, the shit waiter is more likely to stick around longer and make the customers life hell for a much longer period of time because he figures "Hey, I dont have to do DICK around here since I make as much as the good waiters...... this is a sweet job!!". Its not the bosses fault. Hes got more important shit to worry about than babysitting his waiters/waitresses and making sure they do a good job.
The tipping system takes care of all this, without any kind of feedback from anyone but the customer.
Its a perfect system.