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.