I'm a non-Latina Black person so someone please inform me if I'm wrong.
One difference that I was taught has to do with the origins of the different terms and the issue of self-identification. Based on that origin, it makes sense that Hispanic is used as a technical term (such as in research and studies of demographics like the Census) but many people who are historically and culturally conscious will self-identify as Latina/o rather than Hispanic--even if they sometimes say Hispanic to appease others who are more familiar with "Hispanic" than "Latina/o."
Slate also explains how some see this:
http://www.slate.com/id/2219165/