I just want to say I have no problems with gay people and I dont want my words misconstrued, I am only speaking from an evolutionary biology perspective.
Natural selection acts on the level of alleles, genes and individuals, not populations in most cases. "altruism" helps the individual reproduce, where it is observed, but It shouldnt be mistaken for some idea of the greater good. The unusual example of Hympenoptera et al., such as ants relates to an unusual scenario
of relatedness, as well as other complexities, and doesnt apply to humans.
A major issue here imo is not to view homosexuals and heterosexuals as separate forces in the evolutionary process. Its about the gene and/or genes involved. As pointed out earlier in the thread, heterosexuals clearly produce homosexual offspring. One potential explanation is spandrels, as someone has already proposed as side effects genes earlier in the thread.
spandrels, originally conceived by Gould and defined as in evolutionary biology to mean any biological feature of an organism that arises as a necessary side consequence of other features, which is not directly selected for by natural selection. So, certain human behaviour do not increase chances of survival, gain, and or reproduction, they are a result of a spandrel, whereby this behaviour exists due to biological constraints and was selected for in the first instance as it accompanied other advantages which has allowed us to survive, reproduce and flourish as a species, but more relevantly at the level of the individual (or in true terms at the level of the allelle).
A possible explanation? Its an interesting debate.