So, what give him the right t confront someone? He is working for them! If the customer is not going to tip they should e able to give a reason for it that is based on the server's performance, like "we waited half an hour for our apps" or "you never brought us our sides."
Yes, but s/he is working without necessarily a "meeting of the minds" as to how good a job must be done for a certain level of tip. It could be that the server really *was* atrocious - that sort of server, in fact, is probably more likely to wax indignant than a good one, who takes things in stride. And yes, I would expect a bad waiter to be much more aggressive than one who has done their job properly, because that sort of aggressive, yet short-sighted, person is likely to be a bad waiter (see jedikaiti's post for an example).
The tipping system does have some glaring problems, but none of those entitle the server to confront a customer, and demand that they do better. There will, always, be people who do not tip/tip inadequately. The majority of people will tip, and some will tip very well. Unless you are a poor server, or you are unlucky enough to work somewhere that the customers are all skinflints, the law of averages will prevail. If you don't like it, you could lobby for the elimination of tipping, and every server being paid a flat wage - and yet, few servers really would like to see that.
Confronting someone that they MUST give you a tip is simply not effective. The person is either going to refuse (which is their right by law), or pay reluctantly, and never, ever return to the restaurant.