When the NHL pushed forward with a salary cap 2 seasons ago, they were imitating the business model of successful sports leagues such as the NFL and the NBA. The salary caps main goal is a noble one, and one which is in the best interest of the sport. The goal is to make it possible for teams in lower revenue markets, such as say Nashville, to be as competitive as teams in large revenue markets, like say NY. This is all well and good, and I actually enjoy this. It's a good thing when Nashville, and Ottawa and Buffalo are among the NHL's best teams. It's better for the league, and sport, to have good teams everywhere. IT also allows crappy teams a better chance of rebuilding quicker.
The Salary cap, like anything else, has unintended consequences. In this case, the salary cap punishes smartness and rewards incompetence as well. A smart team that uses it's draft picks well, signs good cheap FA's and makes smart trades will be a good team. They will also fall victim to the salary cap, because as their players have improved, they have wanted (and deserved) raises. Now all the money they have invested on these players development has just gone wasted, to an incompetent team who makes mistake after mistake in building their team through FA.
The salary cap also has a semi-intended consequence, player movement. Players now move from one team to another with ease. The Ducks have only 4 players left from the team of 2003 that made the finals. in 3 seasons they lost all but 4 players. This is a bad thing because it makes a team more of a faceless entity rather than a collection of players that dfans can support. There are a whole group of fans right now in Anaheim that have started to fall in love with Getzlaf, Giguère, Selanne, and Niedermeyer. There is also a big group who love role players such as Moen, Pahlsson, O'Donnell, and others. Hell even Pronger and May might have a few fans. In 3 seasons most of that team will be gone, ravaged by age and free-agency. Buffalo will probably have to give up either Brière or Drury. How is that fair, the salary cap is supposed to protect these lower revenue teams from losing their good players.
Player movement not only hurts a teams ability to market to its local audience, but it also hurts the quality of play. A team is a machine and it needs time to gel. A team that has been playing together for months will play better than one assembled at the last minute, in any sport (See USA Basketball, and that's just 5 players). To improve the NHL quality of play the NHL needs to come up with a way to keep low-revenue teams competitive without hurting both quality of play and smart management.
It's not all bad. The restricted FA system allows the teams to keep their young talent for a good long while. This is set up by far better than any of the other leagues, so we'll give the NHL some credit where it is due. But still, why should the Sabres have to part with Drury or Briere, just because they fleeced the Flames (who originally fleeced the Avs)and got Drury?
My idea, is to allow exceptions to the hard cap for players with experience in the organization to only count a certain % against the cap. For example If you play for a team for 3 seasons the next contract counts 85% against the cap. So a $6M contract would only count $5.1M against the cap, significant but what it does is allow the "home team" to offer more to their players without having to ask for the ridiculous home-town discount.