At low levels, all heroes can be good, but in the higher levels, most of the uncommon heroes and many of the rares have limited usefulness. It's important to know which heroes are good at high levels and ideally work on leveling those. Otherwise you will spend a lot of time, resources and wargear on heroes you will end up dismissing later on.
See Appendix A for a list of heroes, their overall rating and best uses.
Note that you may have multiple of the same hero for different purposes. You might have one Veltin for assaults, another for defense and yet another for skirmish. Deciding which is which should generally be done based on their talent, as some talents are better for different purposes and these are costly to re-roll.
It's also important to have multiple heroes, some for each of these purposes. For example, if you lose all your units in an attack that went poorly, you will want some heroes that can defeat a base solo in order to continue playing. But in order to take on the toughest bases, you want good supporting heroes to make your army as strong as possible when at full strength.
Tip: Avoid the trap of exclusively using a handful of heroes. If/when these heroes die, you will be unable to play or will need to use a medkit, which you will quickly run out of. Instead, try to have 6-10 heroes that are high enough level that you can use any one of them effectively in battle.
Tip: the strength of the bases that appear on your map is a function of your player level and your highest hero level. Don't level up any one hero too quickly, or you will start getting very difficult bases on your map. Your player level should always be at least as high as your highest level hero, ideally 5-10 levels higher. If a hero gets to be at a level close to your player level, use and level other heroes until your player level is higher.
Tip: While it's tempting to use Divine Texts wargear or stim-packs to quickly level up a hero, doing so consistently will cause you to run of of Legion Favour, needed to upgrade your heroes. Divine Texts is useful on defense heroes since they don't see combat as often as other heroes.