One of the words is rooted in a history of oppression
which spanned several centuries and ripped entire cultures from their homelands, enslaved them, and even after "freeing" them, treated them as something slightly less than human for another century after that. To call someone a [rivals won't even allow it, even in this context] is to essentially call them an animal, not worthy of the same respect given to white people.
The other one is a word that no longer correctly reflects our understanding of mental disability, and therefore has recently become inappropriate in polite society. Calling someone a retard is to suggest their brain is retarded, literally, that it runs slower than the rest of us. That used to be an accurate way of describing the mentally handicapped, to the best of our limited understanding at the time.
goat