
Here is the fundamental problem. The NBA Western Conference is far superior to the Eastern Conference. With the development that both Greg Oden and Kevin Durant are heading West, the situation is looking even more bleak for the east. The salary cap ensures things will be like this for years.
Once upon a time, the NBA decided parity would be a good thing. How did they go about it? The NBA limits how much teams can pay their stars. This means that even if an eastern conference team, say the Knicks, wants to go pay a free agent $20 million/year, they can't, because they are over the cap. What's worse is that if they have made mistakes in the past, and believe me they have, they can't get out from under it for two reasons.
Contracts are guaranteed and count against the cap. This means that if you make a mistake, see Alan Houston, it lingers for the entire length of the contract. This is compared to the NFL who can cut a player who isn't earning their paycheck.
Well at least they can trade their way out of it right? Nope. NBA trade rules are very strict making blockbuster trades very rare. Baseball puts almost no restrictions on trades, meaning that teams like the Rangers can trade a huge contract like Alex Rodriguez and save some money in the process. The NBA doesn't allow teams to send out more salary then they get back.
So you get where we are today. All the good teams in one conference and none of them in the Major markets. The NBA was best when it was dominated by a few great teams like the Lakers, Celtics, and Bulls. The NBA tried to become more like the NFL, where parity works, but they failed to do so because they didn't understand that basketball is not football.
NBA needs to open up movement. If you must keep the cap, that is understandable, but change the rules so that trades become easier to make or teams can get out from under hideous contracts.