In countries where this happens the restaurant owners should be ashamed and pay their workers a fair wage for the hard work and long hours they put in. If this is the case in your country then I agree 100% you should always leave a good tip (around 20%) if you can afford to.
I live in Scotland and thankfully here there is a living wage in place meaning that everyone is earning a fair wage before any tips or bonuses. We still give tips to our servers in restaurants, not because they rely on it but because of the level of service they give to us, the customer. I work in business and personally believe that if you're good to your customer, they will be good to you :-)