I think my approach to hero upgrading must be unlike most other peoples'... I thought this was interesting; so here is pretty much what I do.
I try to give all heroes at least Spellcasting I. Occasionally I make an exception for an orc hero and make him a completely melee fighter, with no spellcasting or ranged attack. Also, all heroes, regardless of their race and specialty (more on that later) get Parry and Wall Climbing. It's just too annoying to drag rams, catapults, etc. around, unless you've got access to azrac units or dwarves. Anyway it works well to just hop over the wall in tactical.
In addition, I tend to upgrade attack, defense, resistance, and damage equally. I usually don't try to assign many specialty skills or upgrade spellcasting until these are all at 5. (An exception might be made for a hero who's found a bunch of items and doesn't really need the defense early on). I always try to keep these all as level as possible. I try to make the Hit Points twice these other values. So, since most heroes start off with 10 hit points, I upgrade all of these values to 5, and add Spellcasting I, Parry, and Wall Climbing if necessary.
Then each hero specializes. I often keep the same specialization for stock heroes across scenarios. I always make Esmeralda primarily a spell caster. I always make Doktok primarily a melee fighter. Each either gets to be an excellent fighter (with Round Attack, Charge, etc.), an excellent marksman (with the appropriate form of ranged attack, and Marksmanship up to IV), a priest type (healing -- this is usually just Sondra and Esmeralda, Turn Undead, etc.), a spellcaster type (Spell Casting IV, usually supplemented by ranged), a thief (for Roderick and others who come with Poison Strike, I add Poison Darts, Poison Resistance, and some melee skills), or sometimes a paladin type (a mix of some spell casting, some fighter skills, some priest skills, Holy/Unholy Champion and dragon slaying).
I also tend to specialize by race. Elves almost always get archery, not another form of ranged attack. Goblins almost always get poison darts. If I were designing the stock heroes, I would give all halflings hurl stones. I usually give dark elves and elves a lot of magic, and rely more on brute strength for orcs and dwarves.
I think everyone tends to think of building your heroes a certain way... perhaps from their backgrounds. Since I have primarily played RPGs in the past I tend to think of hero characters as belonging to professions or classes, and specialize them in a particular way depending on what I think they should be.