Should you tip?
Yes, if the service was acceptable. Many jobs in the service industry pay very little. Without tips, these workers would have a hard time raising a family.
Who should you tip?
Just about anyone in the service industry. Including, but not limited to, non-fast food restaurant workers, barbers, maids, taxi drivers, bartenders, and webmasters of conversion sites. ;)
How much should you tip?
The generally accepted value is 15% to 20%, though outside North America it may be different.
If service was horrible, tip nothing and notify management. If the service was slow, tip 10%. If service was ok, tip 15%. If service was great, tip 20%.
Keep in mind if the service is slow it is not always the servers fault. If you ever plan to return then the service was good enough that you should tip something. If the service was so poor that you plan not to tip, then it was also poor enough that you should notify management.