I’ve always thought Hispanic and Latino were interchangeable, but apparently they’re different.
Latino means “from a country Latin America,” whereas Hispanic means “from a country that primarily speaks Spanish.”
The confusion is understandable, since most people that are one of these are also the other, but there are exceptions. Somebody from Brazil or Haiti would be Latino but not Hispanic, whereas somebody from Spain or Equatorial Guinea would be Hispanic but not Latino.