There's an excellent article in New Scientist [18 February 2012; p. 3] titled, "If morality is broken, we can fix it". The intro to the article reads, "SCIENCE has made great strides in explaining morality. No longer is it seen as something handed down from on high; instead it is an evolved system of enlightened self-interest. Altruism, for example, can benefit your genes and disgust can protect you from disease. This picture is progress, but it can also lead to a kind of fatalism, a belief that our moral values evolved for a good reason and so we should stick to them.
"Yet some value judgements are difficult to fit into this framework. Why is it acceptable to take certain drugs but a criminal offence to take others? Why is it wrong to create human embryos to cure diseases endured by millions?
"Now an experiment suggests that morality isn't entirely about evolutionary benefits to individuals [New Scientist, 18 February 2012; p. 10]. We also have an evolved tendency to make and obey arbitrary moral rules, probably as a way of promoting social cohesion.
"That picture opens the door to more progress. Yes, we follow rules that bring little benefit and can even be positively harmful. But the rules are not set in stone, so there's nothing to stop us getting rid of those that don't work and putting better ones in their place."