John Cena doesn't have the power to shaft anyone. Well he does, but he never uses it. If he did, he'd stop the writers from giving him such lame comedy material all the damn time.
In WWE, it all comes down to Vince. If he likes you (aka you have a bodybuilder body and are over 6 feet and 250 pounds) you're going to get pushed no matter if your skills warrant or not. If he doesn't feel you're a credible main eventer (guys like Daniel Bryan), you'll be Forever Alone in the midcard no matter if you have the best in ring skills in the company.
Punk had two strikes against him from day one: he doesn't have a WWE type body and was a star in other companies. WWE absolutely hates guys who got over somewhere else and will do anything they can to prove that person can't hang in WWE. A lot of the backstage agents were burying Punk to management from the first match he had in WWE. Lucky for Punk he had a few key people go to bat for him (I think one was the evil John Cena) and after a while Vince seemed to take a liking to Punk.