Ethical Ambiguities
It's always easier to model the world as a system of exclusive choices: this is good, that is bad; this is right, that is wrong; this is fast, that is slow. Unfortunately, such a model can quickly be found to have too many limitations. Different ethical principles all-too-readily come into conflict. Part of our responsibility as members of society is to identify and resolve these conflicts (after all, if ethics were a simple application of rules, we would've got a computer to do it by now).
Let me provide an example from my own experience. I was offering advice to another programmer about applying and interviewing for new jobs, when this person told me about an interview they had attended. They described feeling that the interview had been discriminatory on the basis of candidates' ethnicities, which is clearly in breach of any professional ethics system. Referring to the ACM's code, this breaks imperative 1.4: Be fair and take action not to discriminate...