Mariupol was a special case that should not be considered for other cities that Russia might face.
Azov were a fierce fighting group, with a craze dogmatic cult behavior. But if Mariupol was in the middle of Ukraine somewhere and not locked in by a sea controlled by Russia, they would have escaped or flee before the siege had begun.
In this situation, locked by land and couldn't escape by air, they had no option but to flee to the tunnels with their backed to the sea. They would have given up a long time ago were it not for the Zelensky and the West egging them to stay put to divert in Russian resources.
These guys were there to simply buy time for Ukraine but I guess for some reason, the toll is too much and now they surrender.
Going forward, I don't think Russia will face this kind of resistance again. Just look at how they are approaching Severodonetsk. They've left a corridor while simultaneously cutting off all other axis. If they trap in UA troops they will face resistance but if they leave a corridor (in a way that allows them to target any reinforcements/supplies) those troops will retreat themselves and fall back to another position. They've captured many villages and small cities with this tactic already.
The battle for Severodonetsk is the one to watch for. It will determine in my view, the pace of this war. I predict by end of June, Russia will capture it, but I think if they leave a corridor, it will fall even faster. Where the Russians go afterwards, I don't know. They might pause to regroup. Again this is going to be long war and time is on the Russian's side.
Anyone thinking Ukraine has infinite supplies from NATO and US is fooling themselves. Elections is coming in the US and everyone here is worried about Baby Formula and gas prices. If people starts seeing more billions of aid being sent to Ukraine while they suffer from inflation and even from a recession, it's not going to be "Slava Ukrainian" anymore. Biden has 2 more years left; a year actually until campaigning for relections. Time is not on Ukraine's side.