Even though a siege was more economical in several regards, and most medieval commanders prefered a siege over a battle, under certain circumstances this would simply not be possible:
- Your enemy might have sufficient troops to relief the siege, and being caught between a fortress and an hostile army would put you at a disadvantage. Furthermore, as long as the besieged place expected a relief force, they were unlikely to surrender.
- Your supplies were running low and you needed to break morale of the defenders quickly, but could not hope to breach their defenses quickly enough.
- You wanted to defend your own places and an hostile army foraging in your own lands would destroy your sources of revenue.
- You needed to rout the enemy forces piecemeal before they could unite.
- The fortifications were simply not strong enough, and thus conquering the place would not grant you a sufficient tactical or strategical advantage.
- Your enemy ambushed or cornered you, and you could only fight your way out or surrender.
Sources:
Jim Bradbury: The Medieval Siege, Boydell & Brewer Inc (1992).
Philippe Contamine: War in the Middle Ages, Wiley-Blackwell (1991).