People aren’t weaker against rockets or grenades. Yes, if you hit them they get killed and injured more easily, but hitting them is the hard part. Then you have to hit enough of them. Tanks are both easy to hit and few in number.
It is so damned hard to kill someone who is prepared and doesn’t want to die. Just read up on the battle of Monte Cassino and what it took to finally get those Germans rooted out. It will absolutely amaze you just how tough men are to kill.
Infantry can take cover anywhere. A 6" deep indentation in the ground, a small pile of bricks, a bush, a tree, a tree stump, a crater - and you’re damned hard to spot and incredibly hard to kill.
Now, multiply that one infantryman with his rock or tree by one thousand. There are roughly 1000 soldiers for every tank in the armies of first world nations.
I don’t know for sure, but I imagine the way tanks are being employed in urban operations in Iraq is to have hundreds of GIs storming building after building, clearing, securing, and moving on, to make sure that the tank doesn’t get ambushed from the side or the top. The tank’s only purpose is to provide close artillery support, mobile cover and suppressing fire. As long as the front of the tank is facing the enemy, it’s safe from RPG attacks. To make sure of this, it needs a lot of infantry to clear the way.
To clear infantry out from a mountain stronghold would be much more difficult. There’s more cover, the terrain is uneven, you don’t have the advantage of light at night - nothing. Plus, the metal slug, not being heavily armored, would be vulnerable from the front.
A regular tank fears no grenade, but if a slug does, it simply can’t survive on the field of battle long enough to make itself worth it.
Plus, I really think you underestimate how dangerous mountainous terrain is, particularly to a vehicle. There’s a reason there are special mountain divisions in every army.