First of all, to think Carroll had any intention of going to Miami is laughable. He saw what kind of $$$ Saban got from Alabama and this is his not-so-subtle way of asking for a pay raise and showing USC he is not married to them. If he was going to take a job, he would go to Ariz where his boy Leinart is, where there are no expectations of winning, a weak division, not face Belichick twice a year, and he would have nothing to lose.
Carroll will leave when the "scandal" is about to hit the fan, so he has to keep his name in NFL circles. Trust me when I say you haven't heard the last of the Reggie Bush and Dwayne Jarrett "scandal" at USC (not to mention White, Leinart, etc...).
Lastly, Carroll lucked into the best situation imaginable. The Pac-10 is an utter joke right now, and he has a guaranteed minimum of 9 wins/year. There are no bona-fide coaches in the league. He is virtually guaranteed of playing in a huge bowl game and has his pick of the litter for recruits as USC can recruit anybody they want (Dwayne Jarrett actually wanted to go to ND, but they wouldn't touch him with a 10 ft pole). And while the SEC beats each others' brains in for recruits and on the field, USC has no competition. Carroll has become an utter control freak. Why does he need total and full power in order to coach in the NFL? Guys like Schottenheimer and Belichick have done fine as head coaches without the GM title.
Carroll is an overrated coach, but a big name who an NFL team could sell as "hope" to their fans. HE would get his ass handed to him in Miami and there wasn't a 5% chance of him leaving