Some classes can’t wear heavier types of armor because they’re not trained for it, and heavier armor would restrict certain activities such as arcane spellcasting or agile movement.
A plate wearer can’t possibly have any penalties for wearing cloth (except maybe for looking like a sissy).
This is a concept straight from D&D and it makes sense in the RPG context. How an artificial restriction that has no logical explanation could “help the immersion” I have no idea. It might only help the gameplay balance, but I hate retail WoW style idea of balance.
Also shamans and hunters learn to wear mail at lvl 40, and warriors and paladins learn to wear plate at lvl 40. So how to even define “mail class”?
And, gear in Classic is simply not designed around classes or even roles, it’s very open-ended (except for class sets but even those often have weird stats).
To make it more interesting, immersive and even closer to D&D (and more confusing for retail scrubs), I would allow any class to wear any type of armor, but with penalties to hit, crit, dodge and spell casting speed (for example) for not having the expertise.