Also, wizards have ritual casting that allows them to cast bonus (usually non-combat) spells "for free" from their spellbooks. And they can swap their spells around after a long rest, based on what they have available in their spellbook. To give a simple example: let's say Bob the Wizard has six spells in his spellbook (detect magic, sleep, jump, magic missile, shield, mage armor). He initially chooses to memorize (and can cast) four of them: sleep, jump, shield, mage armor. However, after starting an adventure, he discovers that most of the enemies are undead... and therefore immune to sleep. Next time he takes a long rest, he chooses to swap out sleep for magic missile instead. Further, he can cast detect magic at any time "for free" (not costing a slot), as long as he can take 10 minutes to cast it as a ritual. This gives Bob more flexibility than your average sorcerer at a strategic level.
Sorcerers have a set list of known spells. Amanda the Sorcerer knows only 3 spells: magic missile, burning hands and charm person. However, starting at 2nd level, she also has sorcery points. She can use those points to apply a bunch of interesting effects to the spells she knows. For example, she might "heighten" her charm person, forcing the target to roll their saving throw at disadvantage. She might "empower" her burning hands, allowing her to re-roll some of the damage dice. She might "twin" her charm person, allowing her to affect two targets instead of one. She can trade spell slots for more sorcery points, and trade sorcery points for more spell slots. Although her number of spells known is limited, this gives Amanda more flexibility than your average wizard at the tactical level.
...
Gross simplification, I know, but it works for my players.