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.

Another thing about Adama too, showing how much he's "grown past" his need to retake the colonies: New Caprica. He had two battlestars, one of them state of the Art, and a had the Civvies out of his way on the planet. He could have loaded up, hauled ass back to the colonies and picked up the fight anew, staged a real hit and run war, or jumped to the Cylon capital / started hitting key ships. But he decided it was better for the long term survival of the human race to keep the ships at New Caprica and guard the planet. He put humanity against a need for revenge.