I think as a candidate Rubio is much better than Trump, but not nearly as good as Cruz. I think the latter partly because Marco Rubio has some visible character weaknesses.
A scene from the last debate illustrated the weakness perfectly. Cruz accuses Rubio of going on Univision and promising in Spanish its viewers that he would not rescind Obama’s illegal amnesty on his first day in office. Rubio does not deny he did this, but says Cruz could not have known what he said since Cruz does not speak Spanish. Cruz then responds to Rubio in Spanish, clearly demonstrating his ability to speak it. Rubio calls Cruz a liar.
While the issues involved are not important, the interchange was instructive on matters of character. Rubio, obviously, did not know whether Cruz spoke Spanish but denied it anyways; i.e. Rubio made up a lie. Caught in the lie, Rubio calls Ted Cruz a liar. Thus goes the Cuban civil war.
See it for yourself. The video is here and the interchange takes place at 58:20:
Trump’s distancing himself by his eyes from Rubio during the exchange is priceless.
Rubio says one thing in Spanish on Univision that he knows the Hispanic listeners want to hear confident that English speaking voters will never know that he said it and then he says the opposite in English confident that Spanish speaking voters will never know that the said it. But Cruz, who speaks both English and Spanish revealed the duplicity of Rubio in the Charleston Debate, and what is Rubio’s reaction. RUBIO DOES NOT DENY THAT HE SAID IT ON UNIVISION, HE SIMPLY ASKS HOW WOULD CRUZ KNOW WHAT HE SAID ON UNIVISION “SINCE HE DOES NOT SPEAK SPANISH” AND CRUZ GIVES THE LIE TO THAT STATEMENT BY SPEAKING IN CUBAN SLANG TO RUBIO CHALLENGING HIM TO SAY IT AGAIN IN SPANISH SO THAT SPANISH SPEAKING LISTENERS CAN HEAR THE RUBIO LIE FOR THEMSELVES.