It seems like they happened pretty frequently (at least compared to the political stability of modern Europe) and presumably in most societies the peasants (or peasants and slaves together) outnumbered the aristocracy by a large margin. So why didn't they ever win?
They didn't always fail. Emperor Ivalyo of Bulgaria was born a peasant and either organized a rebellion against Emperor Constantine I or emerged as the de facto leader at some point. Regardless, the partially-paralyzed Constantine (who had fallen from his horse a few years prior) led an army, lost, and was killed. Ivalyo is, of course, attributed with killing Constantine.
But to answer the underlying question: because the nobility had the professional warriors, the means to hire mercenaries, and a willingness to treat their own rebellious subjects like enemies. The rebellions simply couldn't match that. You needed extraordinary circumstances, as with Ivalyo, or you needed mind-bogglingly huge revolts, not unlike those that frequently heralded the end of a Chinese dynasty.
But even when defeated on the field the peasants can still win in some fashion. The Swiss revolt in the 17th century was over taxation and the cantons, despite their victory, did implement a number of reforms. We also see this in other revolts... and we also see these reforms get walked back at times, such as the Ciompi revolt in Florence. Rebellions were intensely disruptive events and it wasn't uncommon for the aristocracy to make concessions even in victory. It is, after all, cheaper to accept marginally less in tax revenue to avoid war.