Quote
Originally posted by The Lost Don:
Sonny Died because it was the only way the Barzini alliance could salvage a tie. The book goes into greater detail about the War, in the book it says that Sonny's tactics were slowly winning him the war and he weakend the otherside far more than his own despite his aggressive approach. The Barzini alliance could only save what little they had by throwing one final blow and that was to kill Sonny.

The Real reason Sonny died was because Mario Puzo wanted to further the story line and setup Michael's entrace to becoming the Don. Lets be honest we all wish everything was peaceful for the Corleones and that neither Fredo nor Sonny or the Don for that matter had died but then we would have no conflict and the Story would be boring.
Yes, on both points.

Mike couldn't reach his destiny, without Sonny out of the way. Sonny's death added to the purpose that Mike and the Don needed to act in this way.

Sonny was also inflicting damage on the rest of the Families with the war,as you said. Sonny was holding off the rest of the families himself, waiting for the Don to get well and take over. He also recognized that he was handicapped with his capos, with their prosperity, but he couldn't make a change. And he probably knew that Hagen wasn't a wartime consiglieri, but he couldn't make a change either.