You're right, Otto's Irresistable Dance is much more effective.
Gives the Fighter Disadvantage on every attack. Assuming a dex of 14, that's +8 vs an AC of 21, hits 20% of the time. On a hit, deal 1d8+2 damage, so the concentration check is always going to be against a DC of 10. Our 16 con wizard can pass that 70% of the time, so it'll take an average of about 7 attacks to break the wizard's concentration, at which point he can cast it again. Alternatively, the fighter can spend his Action trying to throw off the dance. But since it's DC 19 against his non-proficient wis saves, even Indomitable isn't going to be much help there.
All that aside, class pvp isn't really the best way to look at game balance. More prudent to ask is which is more effective against a goblin horde? 8 attacks or a meteor swarm? Which is more effective against a Balor? 8 attacks or a crippling debuff? Which is more effective at getting the party out of the imminently exploding volcano? 8 attacks or teleport? Which is more effective at communicating with the mysterious fae race you just encountered? 8 attacks or comprehend languages? Which is more effective at unlocking the ancient and sealed chest of ultimate power which is forged from unbreakablinium? 8 attacks or Knock?
And so on.
Okay, so let's look at your examples.
A goblin horde? If it's small enough, a metoer swarm is a good answer. If it's an actual horde, that's only going to take out a few chunks... and you can do it once per day. You'll need something more creative to deal with a full-sized horde, and any character might come up with it. Sneak in and assassinate their leader in a publicly awful way to demoralise them? Poison their supplies? Round up an army to defeat them? All of these are things that any character work with. If the horde is small enough that you can wipe it out with four 40' radius bursts, then it's also probably small enough that the party could probably kill them all without using up your one 9th-level spell slot, which is a massive resource.
If you can wipe out most of the hoard with a 9th-level spell slot, leaving a normal fight with some tougher creatures... then the DM expected you to use meteor swarm on them and planned ahead to give everyone in the party time to shine. Thank them, later.
A Balor? A Balor should be able to rip a 20th level Wizard to shreds one to one. Try "A crippling debuff AND 8 attacks". Or "7 attacks and set up the 20th-level rogue for sneak attack". Or any other combination that demonstrates that a party consists of a group of people who need to cooperate to survive.
Exploding Volcano? If the volcano is exploding so quickly that only the Wizard can save the party, then the DM is probably unfairly favouring that player. Or, it's the Wizard's opportunity to shine and every other player will get a similar opportunity later. If the time isn't so short, then a heroic run for the exit (possibly with stronger characters carrying slower ones) makes for a rather more exciting scenario. There's also the whole "Damn, the only place I can reliably teleport us is a week's journey from where we need to be" problem.
Communicating with a fae race? This is the one that a Wizard can shine at, yes. So could a fighter (or anyone else) with the Sage background, or anyone with the right language picked.
Unlocking an ancient sealed chest? You want someone with proficiency in Thieves Tools for that, since Knock will almost certainly cause any guards nearby to come running. What's more, Knock only works on a single lock or magical effect at a time. Your wizard is, at best, a second-rate replacement in this case.
Basically, one class having lots of awesome abilities doesn't make them overpowered. I could give you a list of things that a Fighter is likely to be better at than a Wizard, but it wouldn't make any difference since in general a party will be better than any one individual PC anyway.