Karl gave a good answer. I think that the word "American" is a more spoken, colloquial way of saying you're either from the US or, more specifically, a US citizen. If someone says "he's American" I automatically think he's a US citizen, and certainly not Mexican or Canadian. Now if you say, I come from the US (or USA), that's doesn't necessarily imply citizenship. So that's kind of the big difference to me. You could just be a resident alien and still say you are from the US. That just tells someone you live there. And like Karl said, don't forget the "the" when using US or USA.