"Expat" or "immigrant"? What's the difference?

I stumbled across this today: http://www.siliconafrica.com/dont-call-them-expats-they-are-immigrants-like-everyone-else/

It's a thought-provoking read, and I thought it'd make a good talking point.

It's true that "expat" is reserved for Westerners heading off to work in other countries. The poor souls at Calais internment camps trying to get into the UK aren't called "expats," they're "immigrants."

I saw an interesting exchange on twitter a while back, someone said you become an immigrant when you settle and fully integrate with the culture, language, etc. But again that seems to be only for the experience of Westerners abroad... We still call minority groups in the West "immigrants" regardless of how integrated they are - they're never "expats".

I've never really applied either to myself when living abroad. How about others here?

If nothing else it's another interesting example of the power of language and what our choice of words can reflect about society...