All magic systems have their drawbacks:
The vancian system encourages you to either use the same generic damage spells everytime, or die, reload, and prepare spells for the encounter that killed you. It would be nice if you had some way to gather information about your opponent, to tailor make a spell list to counter them, but unfortunately, it happens in tabletop games only (unless reading the codex/steam guides counts as gathering information).
But unlike a generic mana system, the Vancian system at least encourages you to use spells of every level. Mana risks ending up even more focused, as you would always cast the most mana effective spell (maybe one single target spell, one neutralization spell, and one AoE spell).
Edit: Ok, this was a large exageration, but still, unless you get specific encounter knowledge, this really encourages you to always use the same spells, as the other ones are not available.
That is why I usually prefer the way sorcerers work, but they are limited at the spell selection stage, so in a way, they get even less chance to use unusual spells.
Cooldowns encourage you to rotate all of your spells, but that don't work too well if you want to make spell power a resource, as it basically removes the spell resource element from the equation (unless you have spells with a cooldown of 24 hour, but then, you could as well use the Vancian system), so there is very little downside to using your most powerful spells whenever they are ready.