I agree with pretty much what everyone else said. At the start it's a balance between being quite aggressive with your main stack to level up your heroes and not being so aggressive that everyone dies. I imagine most people have a story about the time they attacked Butchermen and got absolutely annihilated. It normally makes sense to avoid groups which are stronger than yours. Even if you can beat them with use of spells and good tactics you'll probably lose units, and you want to avoid losses unless there's no other option. It normally makes sense to attack monsters which are the same threat level, but be a little bit careful; make sure you understand any special abilities they have; as previously noted: you cannot cast spells on ophidians; you need magic damage to hurt banshees; you want to be a threat level above Butchermen before attacking them and preferably with zero units that the butchermen can kill in their first turn.
I'm a bit wary of units which are the same threat level as me but have higher hitpoints. It may be fine but I want to be sure I have a plan how I'm going to beat them. That plan will generally involve spells; Death magic has good curses, Life magic has Heal. Both sides can access good summons (Skeletons/ Wraith/ Lightbringer). Air elementals are powerful. Casting Fireball with a high initiative mage and/or with -1 turn casting time can make battles against ranged troops a lot easier. Understand what the weaknesses of particular monsters are; Air Shrills and Fire Shrills are ranged units, so if you can kill them from range quickly with your own troops and spells they are a lot less dangerous. Darklings/ Ruffians and other low attack troops are a walkover if you cast Wither or have decent armour. Bears can kill units with Maul, but they're a lot less dangerous if you can reduce their accuracy by casting Blind. Wolves are a lot less dangerous if your troops have spears and can't be counter-attacked. High armour units like Earth Shrills are a lot less dangerous if you can cast Curse.
Assuming your strategy relies on casting tactical spells then save up some mana before attacking monsters. Depending on what you want to cast and what it costs, 50 mana is probably enough for a fairly hard fight. Even if you think the fight will be easy, it normally makes sense to have ten or 20 mana so you can cast a Haste or Curse or whatever and make the battle easier, meaning you take less damage.
If you're not strong enough to take on a particular group of monsters, ignore it. I believe the world generation tends to place weaker monsters near faction starting positions, so in most circumstances you should have have space to expand without taking on impossible battles. I quite often leave a Strong or Deadly stack until quite late in the game. The only thing you have to be aware of is that you don't want to get too close to the monsters, and you may need to have a plan to defend any close-by cities if mobile monsters are spawned. Boosting the garrison is a possibility, as is making sure you have a stack within three turns move so you can cast Freeze/ Tremor and then get back.
In terms of just general expansion strategy, I always make my second hero a Commander who can build roads, and I build roads wherever I go. That way, if I find a good site my Pioneer can get there very quickly. Sovereign's Call is an excellent spell for "good" factions, it massively increases your growth rate, which means you can train pioneers much more often. If you have a city which is approaching its maximum population then you might as well get it training as many Pioneers as you can actually find a use for. If you have units which cost zero maintenance then make maximum use of them, and either lower your taxation rate (increasing production and research) or if you can generate a decent gold surplus on a low taxation rate then use the gold to Rush buildings.
Sometimes you can find yourself cramped by strong monsters and AI factions. This makes the game harder, but not impossible. Concentrate on building up your cities as much as you can, build outposts to get as many resources as you can, build a small but high quality army. If the AI is building troops with strong armour then make sure you're building troops which can damage them, which means magic staff units, Heart of Fire, rings and amulets. (If you can cast Mass Curse this is much less of an issue.) At some point you will either be strong enough to attack the AI or the AI will declare war on you anyway. If the AI attacks you before you were ready it's not necessarily the end of the world. You get the benefit of strategic spells that can only be cast in your territory, so remember to use them. You also get the benefit of city garrisons if the AI attacks your cities. Early in the game the AI normally attacks with two or three stacks, and if you can kill them then it will take the AI a long time to build new ones. So if you have to fight a defensive war, don't panic, and if you can beat the initial wave of AI attackers you will probably be able to immediately go on the offensive and take the AI's cities.