Heroes in Master of Magic could take out whole armies, yes, but then you have to remember those heroes were probably equipped with maxed out artifacts. There were still ways to take down uber-powerful heroes; anyone who has lost his maxed out undead hero to Dispel Evil or uber powerful magician hero to Cracks Call knows what I'm talking about. And there are always going to be creatures and units that all but the strongest Heroes are going to have trouble with; ever tried fighting a ruin full of Death Knights with your lone Paladin hero?
Armor Piercing + Life Steal + Flying = Ownage.
Also why bother with armies? Let's see, because units are a LOT cheaper than Heroes, which typically cost about 30 to 60% of your gold reserves apiece? Because units can be put into stacks which increase their effectiveness as a whole? Because units can be equipped with the same armor and weapons that heroes can thus making them relatively equal? The only thing heroes have over armies is magic, and enough elite bowmen on a first strike can take them out in one go. Also you typically only get one spell a combat turn; you try taking out a maxed out army with one AoE before they shoot you to death.
On the subject of XP...
Unit kills enemy - 150% XP
Unit participates in battle - 100% XP
Unit was in army but not in tactical battle - 50% XP
Unit was killed and resurrected in battle - 0% XP
So a unit that was in the battle but didn't kill any units would get 100% (the norm) XP for each killed enemy. If a unit made the killing blow that specific unit gains 50% more XP for that kill.