I think Michael did the right thing. Well, it wasn't right in a moral or legal sense, but the Corleones were a mob family, so murder came with the terrioty. I think Michael had every right to avenge Sonny's death. I never got why Connie got so upset at Michael for having Carlo killed. Carlo was a lazy, philandering, abusive bum who only married Connie to gain position in the Corleone family. Not only that, but Carlo set up the hit on her oldest brother who died trying to protect Connie from Carlo. Given the way Carlo treated her and his role in Sonny's death, Connie should have been happy that he was gone. I mean what was Carlo doing for her? He was a sorry excuse for a husband and man.

I personally would've liked it better if Coppola & Puzo had stuck to the original story in the book where Connie's intial reaction to Carlo's death was one of shock and anger, but that she forgave Michael soon after. But then I guess if it was written that way in the movie, there would not have been an explanation for Connie's coldness and self-destructive behavior in Part 2. Like she told Michael when she begged him to forgive Fredo, "I did things to hurt myself so that you would know I could hurt you."