Cain is BSG's Governor, although less insane. A character who the audience can see has a point, but whose actions were so terrible that they serve as a warning at how far the actual heroes can go if the situation had been different. That's why Adama didn't see anything completely wrong with her actions given the situation. But Adama had the civilians to worry about and his son and the President to remind him of his humanity. Which goes to one of the main themes of the show about humanity having to be worthy of survival. Killing civilians and especially children isn't justified. If that's how we really are, we don't deserve to survive. Especially if you're slaughtering the next generation to do so. Adama protected the Fleet when he felt that he should go defend the Colonies, but knew that the survival of as many people as possible was key to mankind not going extinct. He was willing to sacrifice himself and Galactica to do so on several occasions. That's why he's the hero and Cain is the villain. Adama is humanity at its best.