A flexible morality can be dangerous. Once you allow yourself to justify some evil acts, it becomes easier to justify more and more, until you lose sight of what is good and what is evil.
However, an inflexible morality can be just as dangerous. By treating every situation as an absolute, you ignore that not every situation is absolute. Sometimes people must do things to survive that they would never do under any other circumstances.
At the end of the day, the good you do must outweigh the evil you inflict, and it must do so by a large margin. This is my own feeling on the matter. People who do more evil than good must not be allowed to continue to do evil. People who trade on the suffering of others should not be allowed to live in peace and happiness while the people they hurt are left to suffer and die.