Having a cap ceiling just anchors down the teams who can spend more but aren't able to because of the ceiling.
The teams who can't spend as much just take on cap dumps (or injured players who won't play anyways but eat up cap space).
And to top it off, because you have a ceiling, players/agents are smart enough to know where the money is. Getting $10m from Minnesota for instance would be like getting $8m in Tampa once you factor in state income taxes (numbers aren't exact, I'm just using an example). So if you have a hard cap, you're just helping out the teams with little to no state income taxes because they're now at a big advantage by not having to pay guys as much which allows them to sign more higher quality players to fit under the hard cap. It's the reason the majority of winners in the NHL the last decade are from teams with little to no state taxes.