The U.S. Supreme Court has struck down the Federal Defense of Marriage Act in a 5-4 decision but avoided a broad ruling on gay marriage.