Being gay isnt something that people have control over. Being stupid, however, is easily remedied if you apply yourself and work hard at whatever it is that you are trying to get smarter at. Of course, there is a point where this is not an option. This point, is some sort of mental illness, which is exactly why it is inappropriate to call somebody a retard or make fun of them for any other mental illness. They cant help it in the same way that a gay person cant help being gay. And the same way that a person of a certain race cannot help being of that race. So your point is moot.
And to others who undermine the importance of using gay as an insult - you really have no idea. If you were gay, you would understand how difficult it is to live when people are constantly hating on your sexuality. Not only does it make you feel like shit, but it makes you feel like nobody is willing to accept your sexuality. This can lead to depression, and if bullying is present, there has been many cases of suicide. So get your head out of your ass and grow the fuck up. If you want people to treat yourself like an adult, then act like one.