"Punk never connected with the kids"? That must've been why all the kids were chanting his name, and wearing his t-shirts. At the height of his face run, Punk had the support of the ENTIRE crowd - not half of it like Cena has. Men, women and children were all behind him, and he was well on the way to surpassing Cena as THE MAN. The company had the chance to go all out with their backing of him, to make this happen... only they didn't, because nobody must ever overtake Cena - and thus Punk became disillusioned, and he came to realise that he would never be promoted over Cena... so he gave up on the futile quest to usurp Cena and went heel, instead.
The company doesn't have a Cena bias, it has a money bias, and Cena is money. Ratings, merch, Cena's the leader, Punk's not.
Punk had a huge push in 2011, and was the reigning champion for 8 months as a face, but it got STALE. Punk/Bryan didn't have heat, as far as I'm concerned Punk/Y2J was a bad story as well (not talking about the matches). Punk/Del Rio made him a rebel against management's chosen guy, so did Punk/Ziggler since it involved Laurinitis. That rebel champion couldn't last by definition, he took over, he's the best. So, they eventually had to turn him heel.
And, it didn't make sense to continue the Laurinitis storyline. It wasn't going to last forever unless he actually screwed Punk out of the title (maybe that's where they should've gone with it), AND it was a perfect way to use John Cena if Cena wasn't going to be in the title picture: title main events, and great non-title main events that matter to the story.
Punk just wasn't that great of a face, at least not if he's a long-reigning champion. Cena's the guy. And Cena's pops have always been the biggest, the fact that he also gets boos doesn't contradict that. I know 100% is more than 50%, but Cena's 50% is still a larger actual number. Just LISTEN.