There is a difference between Latins and Hispanics. Hispanics are those who descended from Spaniards, and it refers to the people and culture of the Iberian Peninsula. Thus an Italian, Portuguese or French is Latin but not Hispanic.
Hispanic-Americans, may or may not speak Spanish. However, the term refers to people whose culture identifies them with the Spanish heritage.
Hispanics as well as Latins are not a race but an ethnic distinction.
The problem, as noted in some of the posts above, is the the various governments aren't so shy about identifying Latinos on Census Forms, in school admissions, as the victims of hate crimes, or in police reports.
If you take a look at some of the sex offenders, their heritage is primarily not Caucasian. There are double-standards and dishonesty at work here.
Realisticly, the whole "Hispanic" label doesn't work, in that a European of Spain, a Spanish-speaking Mexican of pure Mayan ancestry, a Portugese-speaking Brazilian of mixed Black/Indian ancestry and a native-language-Indian straight out of the Amazon jungle would all be classified as "Hispanic".
Effectively speaking, most people I know use "Hispanic" to mean a person who is greatly/mostly Indian-from-south-of-the Rio-Grande, and who comes from a Spanish-speaking culture.
You can be considered "black" if you have few-percent black ancestry