Местность диктует условия. В городских боях можно быстро и незаметно сблизится с противником (при условии, что город подготовлен к обороне), как бы хорошо он не был оснащен технически, мы это прекрасно помним по боям в Грозном. Кроме того, если противник ни в грош не ставит жизни гражданских, они для него даже желательны, а ты связан стремлением не допустить напрасных жертв - это сильно снижает эффективность военных.
Иракцам можно попенять тем, что они вывели войска в поле, где их и разгромили, а не создали в Багдаде "Сталинград", чего американцы боялись больше всего, но с другой стороны - в столь населенном городе потери гражданских были бы огромны, американцы точно стесняться бы не стали и применяли бы по жилым домам все средства поражения. Возможно, эти соображения и остановили иракцев.