The incentives of the waiters and the restaurant owners are almost never perfectly aligned.
Most profit comes from simple items: drinks, salads, the most basic pasta dishes, coffee. It's all stuff where the ingredients cost next to nothing and the prep time is negligible. They don't cost much either, but have huge margins.
The waiter's incentive is not to push you to get the $9.95 ziti marinara, but to get the $22 lobster-filled ravioli, or the $25 jumbo shrimp dish, or the $27 steak—the most expensive dishes on the menu. But the lobster or the shrimp or the steak often have the slimmest margins of anything on the menu. Oftentimes something like lobster will serve as a loss-leader to get people into the restaurant.
As a waiter, you're constantly pushed to sell appetizers, salads, drinks, coffee and ice cream. All the stuff that's not just an entree. That's where the margins are, despite not costing very much and not leading to an inflated bill like a steak and bottle of wine would.
So not only is the waiter stealing the profit from the sodas they give you for free, they stand a chance of making the restaurant take a loss on your meal if you order a slim-margin item as an entree and don't order anything else.
But this is a problem you'll never really fix. Waiters are sharecroppers and their incentives will always be (in part) opposed to what's best for the restaurant.