Discriminating against any human being because of gender or orientation is unconstitutional. How does the military sector have any say in who or can't participate in defending the people of this nation because of sexual preference or orientation? This compromise protects our citizens from abuse and is a necessary step in the advancement of civil rights.
Yes, because the military stance was that gays could not serve. While the compromise was not very effective as troops were still court martialed and thrown out of the military, gays needed to be able to feel they could serve without fear of reprisal. To resolve the issue entirely will take time as more gays are able to marry their partners legally and this is still not recognized by the military.