A hero can do deeds beyond the capability of normal folk. A heroic fighter can take punisnment that would kill more than a dozen men and single handedly slay creatures that could wipe out entire villages. As a hero living in a world where there is magic, he or she doesn't have to use or manipulate magic to be such a hero. The magical powers of a wizard are very different from those of the martially focused hero.
The martial hero shouldn't be doing the things a wizard does and the wizard shouldn't try and fight with weapons like the fighter.
Totally on board with you up to here.
There should be situations that require magic to succeed and there should also be situations where magic will be of little use. Having every hero accomplish the same tasks with a differently flavored power is like having a superhero team with just different fluff and costumes.
The more common magic becomes the more it transforms into a kind of accepted technology. The whole concept of a wizard as a mysterious practitioner of magic is lost if every hero is essentially a spellcaster.
And here we part company. There should be situations that "require magic to succeed"? First off, how is that not extremely heavy handed DMing? Shouldn't those decisions be left to the players?
Why is screwing over one class and then another considered a good thing? If magic is required, then the non-caster classes get to watch from the benches. If magic is of little use, then the caster gets to sit down. Why is mechanically forcing players to take a time out considered good design?
If I, as the player, choose to not participate, that's one thing. That's totally up to me. But, when the DM turns to me and says, "Oh, sorry Hussar, today, you get to watch Bob over there do everything", that's just really bad game design to me.
Yes, I come to play. That means I want to play as much as possible. That doesn't mean I'll never die or anything like that. That's fair enough. That's a consequence of play that makes sense. But, "Sorry, you're a rogue so you get to watch while everyone else deals with these constructs" isn't a logical consequence of the game.
Again, why does writing "wizard" on my character sheet automatically give me more options in play? Why is that a good thing?