Mercenaries notoriously lack loyalty
A mercenary on the battlefield is looking for a reason not to fight. The only thing he gains is his price and in the old days their share of any plunder. A citizen on the other hand is defending his home, family and country. They are fighting for things which are intrinsic to who they are. Once they are on the battlefield, they will fight.