Thoughtful people of good will can honestly disagree about ethical issues. Ethics, after all, isn’t like math, in which there is no disagreement about the multiplication table. Ethics, while not completely objective, is far more complicated because so much depends upon the context in which the event takes place and the people who make the assessment.
Here are the reasons why ethics is simple as a generalization (lying is wrong, hurting is bad, etc.) but difficult in the particular:
Every time you confront a situation you have to decide on the facts of the case. (Is the person lying or telling the truth?)
Next you have to interpret the facts. (Did the person have cause to lie?) Then you have to fill in the gaps in the story with assumptions, if you can’t ask the protagonist directly. (Did the person mean to lie?)
On top of this you overlay our own set of values (How important is the matter?). Then you go about prizing one ethical principle over another. (How important is telling the truth? How important is it to avoid causing harm?)
This makes for at least eight variables (three ethical systems, facts, interpretation, assumptions, principles, and values) that you employ when you make an ethical decision. So, leaving aside psychological variations, such as temperament, a mathematician friend tells me that this mix of variables presents nearly 200 possible ways in which people of good will and hard thought can disagree with one another over moral matters. (Those mathematically inclined may want to correct this figure, if it is inaccurate.)