The term Indians as applied to Native Americans, or the indigenous peoples of the Americas, is thought to have originated in a misconception on the part of the Europeans who arrived in Central America in 1492. Since Christopher Columbus began his journey to America with the intent of finding an alternate route to Southeast Asia, he is said to have assumed that the people he came into contact with upon reaching land were Indians. Despite the fact that people probably realized this mistake within hours, the name remained in use. Similarly, the islands in Central America came to be called the "West Indies", as opposed to the "East Indies" that Columbus originally had in mind as his destination.
In the 1970s, the academic world began promoting the term Native Americans as a politically correct alternative to Indians. Some people feel that Native Americans is more accurate and less stigmatizing. However, Native Americans also has some issues, as anyone born in the Americas, indigenous or not, could be considered "Native American" if the term is taken literally. "Indigenous peoples of the Americas" is the most accurate term, but too cumbersome to be used regularly in everyday speech. Native Americans caught on to some degree, especially in the media, but the term Indians is still widely used.
Native Americans continue to refer to themselves as Indians, especially those of older generations. In addition, American Indian is the official legal term used in the United States. Indians can also be a useful term because it traditionally does not include the indigenous people of Hawaii or Alaska, a distinction not present in the term Native Americans.
The correct way to refer to Native Americans will probably continue to be debated well into the foreseeable future. However, for better or worse, Indians has certainly pervaded legal, literary, and vernacular language in both North and South America. It's strange to think that such an entrenched word is most likely based on a mistake.