There have been so many campaigns (very hard+) that it's difficult to remember when I was forced into a siege tactical battle. The sieges I can vaguely recall were a couple of High Elf battles. So, probably the Eltharion (The Warden) and/or Alith Anar (Shadow Rogue) campaigns.
Generally, I hate looking at loading screens, so I only personally play a battle if I am heavily disfavored or it is a forced quest battle.
This means I build my army(s) for auto resolve. The early game is getting up to 1.5 armies worth of tier 1 units (and the 2 or 3 higher tier starter units) with 2-3 artillery pieces. I will often only stay afloat on battle loot and come close to bankruptcy during the sieges. In the early game, the city defenses aren't strong enough to survive this number of troops with 2 siege towers and 1 battering ram, regardless of attrition damage.
After the very early game, my army makeup is going to be (auto complete gives over 70% with 2 siege towers and a ram, a majority of the time):
[in Army 1] 1 Lord, 1 of each hero, 2 - 4 sword and board melee, 2 spear and board melee, 2 or 3 artillery, 6 to 8 ranged (some ranged cav, if available) (if the race has good high tier beasts, I will drop 2 sword melee and then eat into ranged to accommodate them)
[in Army 2 following army 1] 1 Lord, extra heroes (until one of each is supported), X cavalry/flying units, and X tier 1 melee/ranged overflow from Army 1 (makeup depends on income/raiding, as well as race)
End game changes heavily depending on race due to beasts.
The low tier beasts, cavalry, and specialized melee suck for any race with good archers (Elves, Rats, Dwarfs, Empire, Vamp Coast, and even Tomb Kings). The melee without shields tend to get wiped out more often than not, in auto resolve, throughout the game.
The races with weak archers are much more difficult. My last play through was the revamped Orcs with LL Paunch; I had to restart 3 times before turn 50, because I couldn't get the war machine going (and besieging the wood elves is fucking dumb with orcs).