NobleNoob: A certain point of view: It's really unlikely a draconian could fly forever; then the foe could just walk into town and rule the place while the draconians "hide" in the sky. Or better yet the entire populace could "hide" in the sky if they could fly forever, so it's kinda silly cannon wise.
There's a lot of simplification and abstraction that goes on in games like this.
In this case, the attackers are trying to take control of the city. To do that, they need to eliminate the defending military. If they can't, then the defenders can disrupt any attempts by the attackers to actually make use of the place (assaulting attacker's tax collectors, building projects, riling up the locals, etc etc).
Attackers are the ones trying to force their way in, so they are the ones to "retreat exhausted" if their attempt to take control of the tile fails.
NobleNoob: Not attacking when defending a city just makes it more destroyed. Raids annihilate a city.
That's certainly a possibility if the defenders can't keep the attackers from rampaging through the city. After all, city damage can occur even if the defenders ultimately annihilate the attackers in the same battle.
A city wall with a draconian sitting at the gate will keep most attackers out. Can't stop a Great Wyrm from running loose inside the city, of course, but that abstraction reflects a reality anyway. :)
NobleNoob: A few games make it so foes don't attack until you do. But I think MoM is the only case of "in the middle of battle suddenly nobody fights, but no parley or holiday".
Personally speaking, I think it makes sense. The defenders win by default, so they don't need to engage if doing so would just wipe them out. If the attackers want a relatively undamaged city, then they need to bring whatever is necessary to eliminate the defenders. If the defenders want a relatively undamaged city, then they need to have whatever is necessary to prevent the attackers from damaging the city (whether by keeping them out or by wiping them out).
If the attackers can't get into the city or otherwise do anything to take control of the area, then eventually they're going to have to give up and leave.
NobleNoob: In MOM's case retreating can destroy your army for w/e reasons via the retreat damage parameters even if you dominated them, so retreating from that battle would be costly. Probably because patchers thought that hit and run was too advantageous to player.
It could also be to simulate the commander calling for a retreat, only to lose forces because the retreating units lost cohesion, routed, and/or vanished as individuals into the countryside instead of retreating in an orderly fashion. Or a combination of that and the attackers catching some of the defenders and eliminating them during the retreat/rout.
*shrug*