There is also a distinct lack of Counters to Magic in many settings. If there is a spell to detect traps, you would think that People invent protections to that spell and force People to check with mundane skills for example.
There are spells that make magical objects detect as non magical, spells that prevent teleporting, spells that prevent scrying, and probably more that I'm forgetting... and when they are used, players cry about it being unfair. Well, no shit, people that have an interest in living are gonna protect themselves from your cheesy 'scry and die' tactic.
Of course there is the Problem that in High Fantasy a Wizard often has so much Magic tricks that if this way to do it doesn't work, he can just try something else. Unlock Magic doesn't work? Blast the door with a firebolt, or freeze it and make it break that way etc... Really nothing short of a Anti-Magic field can stop a creative wizard with the intelligence to use his powers effectively.
That's why the limited casters I mentioned above and Plot pointed out the canon versions of the same. They're more balanced and keep a caster from dominating the party.
I think the amount of Special powers a non-straight up Magic character Needs is equivalent to how far away the wizard is from the "Squishy easily killed" type that has spells blow up in his face if he gets distracted etc... If he is high Fantasy, you basically Need the Thief/Warrior/Archer type characters to be super-duper to stay relevant.
Problem is, even a limited mage can find ways to make a fighter or thief redundant. A skilled abjurer can sorta negate the need for a tanky class, as they can do it themselves with their protection spells. A conjurer can summon a monster or critter to complete specific tasks that require more skills than a skill-monkey can keep relevant. I think the other two archtypes should be more powerful in addition to limiting the wizards.
Thieves, imo, have been turned into fighter-lite, the way a lot of splatbooks try to portray them. All kinds of skills, and decent in a fight. This shouldn't be, I think. I think thieves should have the role of skill-monkey and assassin... if that one first shot doesn't take out the target, the thief should be running away, not staying to duke it out. But, in return for that kind of focus, they are THE skill monkey. Nobody else in the party has such a breadth of knowledge and various skills than the thief, which includes stealth btw. Their weapons should likely be ranged, because, ideally, they shouldn't ever be in direct combat.
Ironically, fighters are also too spread out. Their ability to use any weapon prevents them from being true powerhouses. I'd rework the fighters so they can only use one class of weapon(small/medium/large bladed, axes, blunt, polearms, exotic - and able to learn another class or two of weapons as they got more experienced), but in return, nobody but another fighter wants to get into melee range with one. Because they will wreck your shit real fucking quick.