One thing for me is that I simply find the act of tipping in settings where you directly hand the tip to the service personnel a very awkward thing to do, especially when there is an expectation of a certain amount that a foreigner wouldn't necessarily be expected to know. You are then faced with standing face to face with someone that you may or may not have tipped adequately. Actually quite stressful. There are also situations where it would not occur to foreigners to tip, and they simply don't consider it.
Also, save the explanations over tipping about how poorly US wait staff are paid, and how it's somehow my (the customer's) problem. I'm more than happy to (and do) do it because it's customary, and because I generally receive excellent and friendly service at most places in the US - I'm not doing it because I am somehow responsible for the fact that the employer doesn't pay their staff properly.