Political correctness is essentially useless as far as coming up with new, extra-sensitive ways to refer to things. Take retardation and other mental diseases, for example. When a person says the word retarded (a non-judgmental clinical term) these days, it is considered offensive to some people, who would prefer to say "differently abled", "handi-capable", or some other misleading, convoluted language. Give it enough time, and those terms will eventually offend people too. (Ten years later, kids will be shouting in playgrounds, "I bet your daddy is a handi-capable flight attendant!"). If people stick with the same words that have been used in the past, there will be less confusion. To steal an idea from George Carlin, people act as if changing the name of the condition somehow changes the condition itself.
As for racist epithets, there is no reason why people should not be able to use them. Personally, I like to know who I'm dealing with, so if some pig-headed racist has to hide his true colors because of restrictions on speech, it does me a disservice. If he instead openly and regularly insulted people's races, religions, or cultures in public using identifiable language, I wouldn't have to wait until he's eating dinner at my house to find out he's a total jerkoff.
On the flipside, such words can be very offensive to some people (mostly the people they target) and with good reason. The word nigger, for instance, was used by white people for centuries to denigrate, subordinate, and dehumanize millions of black people. As a result, a white person using that word against a black person today is essentially attacking that person with the psychological force of whips and chains. The word faggot originally referred to a bundle of sticks; it came to refer to a homosexual because so many of them were burned to death while tied to faggots.