I'd suggest if you really want to understand the game and its mechanics, that you do your own scenario and explore the options available to emulate troop behavior under combat situations.
The attributes available to design combat forces track with those I had to consider for impact of my professional decisions, and, if implemented properly, should result in a realistic emulation of battlefield results.
I created a couple fictional scenarios for HTTR. I also playtested a number of scenarios for scen designers who created community scenarios for COTA, so I'm familiar with quite some of the main mechanics, I think, despite all the changes.
In the game, say if the attack of a coy or an entire BN failed, then it could take any amount of time, from 1 hour to several hours until the unit or parts of the unit recover and renew the attack. With a Bn, one Coy at a time would route, sometimes they would try to regroup/recover right in the open when the enemy focuses on the leading Coys, just to take even more casualties (by still sitting in the open during the recover period) and route again, when the enemy shifts fire again, eventually.
On top, I encountered single units here and there that stayed in yellow or red mode and never recovered (not sure if that still happens in CO2).
Another example: say 2 companies would meet and engage in a city environment, and say they would have exactly the same values (including combat power) and the very same equipment and amount of troops (say 160), and both would be just "deployed" (not dug in) in their defensive positions with the scenario start set to midnight (so that they "suddenly" face each other when the sun comes up), then one of those units would route, eventually. While all troops in the routing unit would run for their lives (and couldn't be controlled by the player), the other unit would be able to take advantage, switch to the offensive, or just move and take the routing unit's defensive position.
In Stalingrad, one side kept holding say the lower floors of a house, while the other side kept the top stories of a house, or the northern part of a factory and the southern part of a factory, for days, even weeks. The Germans often had contingents tasked with holding perimeters, and other units (say like the Sturmpioniere that were sent in later on) tasked with attacking and minimizing the enemy's defensive perimeter. The Russians kept pumping in troops to hold and mount counterattacks. But there were also houses that kept changing hands, where one Coy would fight an enemy Coy, with both renewing their attacks every 20 or 60 minutes, until they had to be replaced or reinforced. The same happened at that infamous hill, where entire Bns were thrown in for attacks, on both sides, with the hill changing hands every day, and sometimes even after hours only. During some of these defenses/attacks, all troops were wiped out, with one or another survivor on either side, and with the survivor on top of the hill being king of the hill, essentially.
In 1942, when the Germans had to dig in ôn the southern front (before the push towards Stalingrad and the Caucasus), the Russians would often send wave after wave in an attempt to overrun the German trench lines. There are many German vet accounts stating that when their shift was supposed to take over the defensive lines the next morning, that they often found only one German survivor in their trenches, and that it used to be the MG gunner, with the ground in front of him usually being covered with hundreds of Russian bodies, so that you couldn't see the ground anymore. They called it "sea of [dead] people".
Even though the Russians had tank or apc support, the coordination was poor, and the tanks either moved in with the troops, or retreated early when the infantry got shelled during the attack.
This (consecutive waves/attacks, lack of coordination, ruthless manner, lack of doctrine implementation) can't be simulated right now.
Back to the 2 Coys: so, if none of these is mounting an attack, and since both units can use defensive bonuses on city terrain, none of them should be forced to route. Both should be able to hold and defend their perimeters, exchange fire, and maybe suffer an X amount of casualties, as the result of an attritional defense, but not route.
Not sure if my collection of observations and examples made sense.
Whatsoever, the routing regime is the only detail I really never liked in this game.
Imho, an EF game would need a change in doctrine/attack procedures to cater for the several (quality) levels of tactics and the several implementation levels of the deep thrust doctrine employed on the Russian side between 1942 and say 1944. Basically, a Russian unit from 1941/1942 would not act like a Russian unit from 1944. Somewhere between 1943 and 1944 the Russians had started to master that doctrine, along with the use of their combined artillery units/missions that were placed under Stavka and reorganized into brigades and divisions (starting in spring or mid 1942?) - and then rather employed centralized and even combined to a Corps as Army or Stavka asset.