This is a touchy and complicated issue. There is no simple answer. I'm gay and I probably would be far more offended by the use of "retarded" than by the use of "gay" that you're describing. The problem is not if you are offending anyone but if you might offend someone, and where and when. I personally don't mind people using the word "gay" that way, in great part because I think it's stupid, but not directly harmful; I think that is more damaging to the person saying it than to the concept of being gay. (Equating "gay" to something bad won't make being gay bad. South Park uses the word "gay" that way. When Cartman calls lame things "gay", Stone and Parker are mocking Cartman, not gay people.) I'm offended by the use of the word "retarded" for the same reason: as I am not retarded, if I were not offended, I'd be latently approving of the word being used that way.
But, in short, by using these words, you're always in danger of offending people, even if you haven't so far. Imagine: you meet someone you're getting along with. Let's call them person A. That person is with a friend of their own, let's call them person B. Your friend is with you. Your friend uses the words "gay" and "retarded" the way you described. Person B is offended by these words, either because a relative of his is retarded, or gay. Person A can offer you a job, or a piece of advice, or help you move, or anything of the sort. Person B later tells person A, "I don't like the sort of people that guy," (meaning you), "is hanging out with." Person A is now far less likely to help you.
Is it really a risk you want to take? From your question, it appears you are rather young. That leads to another issue: do you want to get used to that language? If using those words that way is not an issue now, do you want not to notice it when it becomes an issue to do so?
Think of bicycles and helmets. Someone might say they don't see the point of wearing a bicycle helmet because they've never come close to having an accident, but they wear them anyway. Maybe the two are related. Maybe the type of person who is so careful they've never come close to have an accident is the same type of person who wears a helmet. When you're in the process of falling down, it's too late to start wearing one.
You've never had a problem with that type of language and you probably won't until it's too late to do anything about it.
I don't have much advice to give, just a little. Don't try to change others. It generally fails to change anyone and alienates those who try to make others change. But don't change yourself either. You seem to think there's something wrong with using these words this way, despite not seeing much evidence that there is. My advice is: don't wait for the evidence to come along. Stay wary of that kind of language and don't start using it. If one day you run into a situation where it's clear that you're right, it will be too late to do anything about it. And if you never run into such a situation, what do you have to lose by being ready for it? The fun of using a few offensive words? I think it's a pretty good deal.
Firstly, for my first-hand reporting of the usage (and perceived offensiveness) I observed of this word, discussing with a small Japanese community in London and Boston. Gaijin is fine in normal conversation, both between non-Japanese people and between Japanese and non-Japanese.
Secondly, looking up some authorities, none of the dictionaries I have at hand or checked online (Merriam-Webster, Oxford, Cambridge) mark it as offensive or derogatory.
Thirdly, I thought about similar words for other communities. You gave the example of nigger, which is extremely offensive (“black” or “African American” being respectful alternatives). Another one is goy, which can be perceived as offensive depending on context and audience (and for which “Gentile” is a safer alternative).
Best Answer
There are at least two different types of Eskimo: Inuit and Yupik. In Canada and Greenland, the only type of Eskimo is the Inuit. However in the United States, both types are present and in Russia, only the Yupik are present. So, Eskimo couldn't really mean anything other than Inuit in Canada whereas in Alaska it could very well be referring to either. In Russia, it could only mean the Yupik.
The point is that Eskimo is a more general word than Inuit. All Inuit are Eskimos but not all Eskimos are Inuit. The two words aren't synonyms.
According to Wikipedia, the term is offensive in Canada and Greenland and not elsewhere.