Maybe it was the polls showing him losing his home state of Florida, and the knowledge that a home loss at the hands of Donald Trump would doom his campaign and his party. Maybe he had simply had enough of the bullying. Whatever the reason, Marco Rubio finally found his voice and his footing at the 10th of 13 scheduled GOP debates.

It wasn't exactly presidential, but at times it was entertaining in a reality-show kind of way. Rubio attacked Trump effectively; he mocked and flustered Trump, at times leaving him muttering and sputtering. He found the frontrunner's weak spots and hit them, repeatedly.  In boxing terminology, he didn't floor Trump, but he finally won a round decisively. He showed himself and political world that it could be done.

The question is whether the counter-attack has come too late in the process to shift its narrative arc. The tenth debate, five days before Super Tuesday, makes a much smaller impression on voters than the first or third or fifth debate, when candidates are still blank canvasses. And to his followers, Trump has become a folk hero, and people don't give up on folk heroes easily.

Ted Cruz, playing on his home turf of Houston, lost the debate. He performed adequately but was much less effective than Rubio in confronting Trump. And at this point, that's all that matters. The race is evolving toward a two-person competition, and Cruz is increasingly the odd man out. And maybe it's just me, but I also don't think that his excruciatingly ingratiating personality wears well over time.

And Trump? Trump is Trump. He got roughed up a little last night, but he's so far ahead on points that it probably won't hurt him. And if you guessed that his wounded pride would drive him to respond with petty, juvenile assaults on Rubio, well ...