To start: I am British and live in Continental Europe.
Personally I prefer the european method of having service included in the price and tipping where a tip indicates at least "good" service or better. However when in the US, I know that tipping is expected and will tip accordingly for "average" service and above.
If I receive poor service then you will not get a tip, regardless of which country I am in or what the server thinks s/he is entitled to.
If the establishment has a built in service charge, then I will tip the same way I do in Europe (i.e. a small tip for "good" service, a larger tip for very good service). If you put the credit card slip down for me and expressively say "this is where you put in the amount for my tip" (happened to me in a higher class Spanish restaurant), then you've just done yourself out of a tip.
I tip for numerous things (some of which are not customary in the country where I live, because I appreciate good service). These include; taxi drivers, hairdressers, manicurists, delivery people (take-aways, not postmen/Fedex deliveries!), tailor.
I'm not tight-fisted and I generally live by the "When in Rome" rule, but at the end of the day I don't see why I should pay anything more than the "official" price for a mediocre result. Indeed if it was a dire result then I wouldn't even expect to pay the "official" price (i.e. i would be taking it up with the manager).