That's not true at all. Yes Wizards have good options for disabling, but a wizard can also put out great direct damage, especially since they excel at an area where many other classes are lacking, which is area damage.
Magic Missile is a respectable amount of damage for the first few levels, dealing 10.5 on average and never missing. Fireball is excellent, Storm Sphere is excellent, Cone of Cold is strong, Disintigrate is amazing in combination with portent to force a failed save, and Prismatic Wall is incredible.
At level 3, a battle master fighter with a greatsword using a maneuver does (2d6+1d8+3 * 0.6) = 8.7 damage, assuming a 60% hit chance (which is the number I'll use for all these calculations). That's less than a 1st level magic missile does.
At level 5, fireball is the king of damage, easily outperforming any weapon class when used against multiple targets. it deals 28 damage on average with half on a save (60% chance of 28 + 40% chance of 14 works out to 22.4 damage on average), where a level 5 fighter with a greatsword using two maneuvers would deal (4d6+2d8+8 *0.6) = 18.6 damage, to one target. If a wizard hits 3 targets with their fireball, they deal about 4 rounds worth of the fighter's damage.
That's not to say that pure damage wizards are the optimal build, control is still a huge aspect of an optimized wizard, but don't sleep on the direct damage spells, especially if your DM likes to throw hordes at you. Killing them one by one is far less efficient than hitting six of them at once.
Wizards are bad at direct damage. Spells are a limited resource, and wizards fall behind at every level for doing damage. Using your level 3 example, the battle master will never miss, as maneuvers trigger on HITS, so the damage is 11.5 + 3 = 14.5, a MM is 3xd4+3 or 10.5. When the Wizard runs out of spells, he will be using a cantrip, which is 5.5 if you use Fire Bolt, while the fighter will still be plugging away with for an average of 10 damage reduced by miss chance.
MM cant critical either, there is no to hit roll, but a melee type can and can get forced crits for huge rolls because they can use on hit abilities such as Divine smite and max everything. Melee types can also get advantage in many ways, increasing chances to hit and critical hit. This handicaps a wizard all the way through the levels.
Rogues will be backstabbing for more, Paladins smiting for more, etc.
At second level a great damage dealing spell is Suggestion. Tell them to take their armor off, that's results in a lot of damage. Or "We can help you take over if you help us kill your boss" does a lot of damage also.
Fireball is iconic but terrible, 28 if the fail, 14 if they pass, but to more than one creature. Its also unfriendly as an area of affect. If they don't pass and if they don't have some sort of resistance, sure. At fifth level, 2nd attacks are coming on for the melee types, as is other things. So the monk will be getting 4 shots in, with 2 chances to prone them as a rider or a stun effect. A monks base damage is 4d6 + 16 at that level (using a Ki point for FOB and the ABI at level 4) which is 30 if it all hits, and if any of them hit they can throw in a stun. The real horde killing spell at 3rd level is Spirit Guardians, which is friendly, targets a worse save and can damage them multiple times round after round. The fighter you mention wouldn't miss so its actual 14+9+10 (the abi) or 33 points of damage to one target. Instead of Fireball, if you want to do damage use Melfs Meteors.
For third level spells you better off using your slots on Hypnotic Pattern or Fear (the enemies that fail the Fireball spell DC will just be removed from combat) or even Slow with the right enemies as it just hampers more then any amount of damage except for dead. You get to pick the targets also.
At 4th level Storm Sphere is ok, the real damage spell is Polymorph. Transform into a damage dealer monster like a Trex for attacks at +10 for 4d12+7 and +10 for 3d8 +7, round after round.
Cone of Cold is the same as fireball at 5th level, 36 average damage instead of 35. The real damage spell at level 5 is Animate Objects with Caltrops, so that's up to 10 caltrops attacking at +8 to hit for d4+4 damage each, all of which can critical hit. That's 8d4+32 round after round, while doing other things. Its your own personal army of spheres from Phantasm.
Disintegrate with a failed save is 75 damage. Animate objects cast at 6th level is 10 objects or 10d4+40 round after round. Disintegrate has other utility uses though.
Prismatic Wall is great if you can get them through it somehow. Or if you just need to seal an area off. Its generally more defensive though. However if you can bull rush people into it somehow it is great.
The idea is that Wizards are best in a different role. The game has enough damage dealers, Wizards should be played the other way and smart and creatively. If you Hold a creature, every critical hit done to it is YOUR damage, that's how you deal damage. Slow give up to 6 creatures -2 to AC, that lets those Great Weapons users a chance to take the -3 for +10 damage. Only smart players will see it, but its as a result of you.
BTW, for hordes, play a lore bard and as spell secrets get Spirit Guardians and Destructive Wave (8 levels before Paladins do.) You can then have it both ways, as Hypnotic Pattern and Fear are on your spell list also.