1) When Columbus found America while looking for India, they started calling the natives as Indians. The term Indian (or "Red Indian")is routinely used to call the original people who inhabited the land what is today USA as well as part of Canada. However, Native American is a politically correct term to call a person of that origin. Some Native Americans consider it offensive if you call them Indian.
2) This term originally and accurately also refers to a person originating from the country (or a citizen of)India.
In America, Indian refers usually to Native American and sometimes a person from India. If you're in America and two people are talking:
One: He is an Indian
Two: You mean from India? or Native American.
In most other parts of the world:
One: He is an Indian.
Two: Oh really, I've been to India before. Its too hot out there.