Tom didn't have the killer instinct in him. He could delegate the violence, but ultimately, he was a businessman. Look at the events leading up to the climax of GF2 - Tom knew that victory over Roth was already clinched, and questioned why Roth needed to be assassinated. (In the end, he was right - Michael lost one of his best assets while killing Roth.)

Part of the problem was Sonny - his attitude toward Tom as consigliere was a simply a tool to help him win his war, almost like a military planner and strategist. Had Sonny been conscious of his weak points, he could have used Tom to balance those weaknesses and make more effective decisions.

I'm of the opinion that Sonny's death was actually a good thing for the Corleone family - Tom realized the war was hurting revenue and attracting police attention. Barzini erred in killing Sonny - depending on what the Barzini family situation was, he could have simply waited it out and let the Corleone family collapse on itself with no revenue coming in (not unlike how the Soviets lost the Cold War).

When Michael took over and put Tom "out," he was making that move to maximize his chances with two goals - the long term making the Corleones legitimate, and the shorter term avenging Sonny and gaining control of New York in a swift, brutal manner. Hagen was suited for the long term legimitization, and Vito had the experience, planning ability and vested interest in avenging Sonny.