I'm generally against hard caps as I don't ever want a team to have to let a good draft pick go because they can't fit the player in under the cap (like gilbert arenas for golden state a few years ago).
I just don't get why the owners need to be protected from themselves. If you can't afford a player, don't give them a ridiculous contract. Stop bidding against yourselves. There was no real good reason why Maggette's offer started at 10 million and was so long, no one forced Philly to lock up an injured and older Brand, no forced LAC to offer a huge deal to a player everyone knew had motivation issues and would clash with their coach. Last year, Orlando was the only team with cap space, but for some reason they agreed to do a sign and trade for rashard lewis, even though they would have gotten him anyway for a shorter and cheaper deal. The salary cap is based on a percentage of league revenue, so if the owners begin making less, the cap drops, and the players make less. I don't buy the owners' whining for one second; they love to try to twist outside circumstances to justify increasing their share of profits. You know what? you can't run a profitable team and sign A-list guys? Don't sign them. If it's really an issue, no teams will be signing ridiculous contracts and the contracts will drop naturally. Look at your budget, set a limit, and stick to it. And if a franchise isn't viable in your city, the league should contract it. Somehow baseball does ok with vastly different payrolls; The NBA is an improvement in terms of competitive balance, but the team minimum salary is quite low, so it's not like anyone is making the teams spend more than they can afford.
I think the NFL model is absolutely ridiculous. why does there need to be parity? parity is boring. Writing about a crapshoot league is boring and becoming obsolete. Reading about a crapshoot league is boring. some level of consistency and predictability is good for a sport.
As someone who cares about labor issues, I don't care how much money is being thrown around; owners have a ton of money and players have a ton of money, so i hate hearing about how players shouldn't have guaranteed deals because they are rich. um, the owners are richer. And if you are going to make contracts voidable by the team, I say you need to make contracts voidable by the player as well; if a player is exceeding his contract he should be able to void it and sign for an increase elsewhere. How would teams like that?