The benefit of garrisoning melee / archers, is in utility to be frank. Like some have mentioned, you CAN (and should) wake an archer unit each turn and have him bombard as WELL as the city. This unit will be untouchable until the city itself is taken. This is incredibly useful as archers are weak and vulnerable, and more than that, are free xp, maybe allowing the enemy unit to get a level-up and full heal!!!! I think most people will focus on clearing the units around a city, before attacking it. So forcing their hand, while still allowing you archer fire, is a great benefit.
Melee on the other hand, allows you to plan a "sortee". This isn't something you should use every turn, that will just get your unit eaten up. Consider doing it when your city is half health, or less, and the enemy units are all a little bit damaged and injured. Then rush your melee out, eat one up, maybe level, take full health (or something else if you're un-injured) and all of a sudden the other enemy units have a fully healed and dangerous melee to deal with. It's often enough to force a retreat. Or at least force them to use the "fortify-heal" option, instead of attacking your city.
On the other hand, if you rush out first turn, even if you beat the enemy unit, their friends will just smash yours, grab the xp, and continue sieging.
I think the best bet, especially if you have a barracks or armoury. Is to keep a melee unit (but dont use the upgrades you get from your start xp!!!). Bombard for one or two turns, rush the unit out, kill one. Now from barracks you will have 1 free level, armoury 2. Use those for full heal, rush another... heal... until you clear your city. Even if they have catapults or trebuchets, killing that first unit, will put you in melee range of these "2-range siege weapons" and the enemy will likely waste a turn moving them away...
Melee on the other hand, allows you to plan a "sortee". This isn't something you should use every turn, that will just get your unit eaten up. Consider doing it when your city is half health, or less, and the enemy units are all a little bit damaged and injured. Then rush your melee out, eat one up, maybe level, take full health (or something else if you're un-injured) and all of a sudden the other enemy units have a fully healed and dangerous melee to deal with. It's often enough to force a retreat. Or at least force them to use the "fortify-heal" option, instead of attacking your city.
On the other hand, if you rush out first turn, even if you beat the enemy unit, their friends will just smash yours, grab the xp, and continue sieging.
I think the best bet, especially if you have a barracks or armoury. Is to keep a melee unit (but dont use the upgrades you get from your start xp!!!). Bombard for one or two turns, rush the unit out, kill one. Now from barracks you will have 1 free level, armoury 2. Use those for full heal, rush another... heal... until you clear your city. Even if they have catapults or trebuchets, killing that first unit, will put you in melee range of these "2-range siege weapons" and the enemy will likely waste a turn moving them away...
Comment