This isn't a chicken and egg situation. The high revenue teams are going to, for the most part, be good, whether it's paying their own quiality draftees or free agents, or acquiring a player at the trade deadline. This is an advantage over the low revenue teams. You can't simply say "We draft better players." and have that diparity go away.
The question is "What is fair?" Is it fair to have all teams on a level playing field regarding how much money can be spent on players? If so, how do we achieve this? A hard cap will be difficult. The NFL already shared almost all of its revenue equally prior to implementing the cap. The NHL doesn't, and likely can't, because it's revenue streams are markedly different and more market-dependent.
Or is it fair to allow teams with the luxury of location or the willingnes of an owner to supplement his team's payroll to accumulate the majority of the league's best players? This has been and will continue to happen. Sure, each team develops good players, but which teams keep them, and which teams scoop them up at th trade deadline or in free agency?
A hard cap is too simple. If a team generates revenue, it should be able to spend it. However, those teams should also recognize that their revenue stream is, in part, based on their opponent's ability to put a competitive team on the ice.
Soft cap, revenue sharing, whatever. It's in there somewhere. I'm just not convinced the leadership of either side is bright enough to find it.