Hispanic refers to people who speak Spanish or someone whose ancestry is rooted in Spanish speaking populations. In contrast, Latino implies to people who are from or have descended from Latin America. Hispanic focuses on what language people speak or what language their ancestors spoke.
However, Latino refers to geography. It refers to a specific element of culture, and it is closer to the definition of ethnicity, which groups people based on shared common culture. Anyone from Central or South America and the Caribbean can be described as Latino. Latinos may also sometimes be called Hispanic. For example, people in Brazil are Latino, but they are not Hispanic because Portuguese, as opposed to Spanish, is their native language.
The key difference between Hispanic and Latino is that Hispanic refers to people who speak Spanish and descended from Spanish speaking populations. In contrast, Latino refers to individuals who are from Latin America. A Latino or Hispanic person can be any race or color.
Hispanic is a different term that speaks to native speakers of Spanish or maintains a Spanish speaking heritage. Latino is the common term when referring to anyone of Latin American origin. Hispanic includes people from Spain and Spanish speaking Latin Americans but excludes Portuguese and Brazilians. Latino is a much more diverse term, encompassing many more people.
The choice between the terms of Spanish speaking origin is correlated with location: people of Spanish speaking ancestry who are living in the United States tend to prefer the term Hispanic, while those who reside in the west and east tend to prefer Latino.