Basically, if you re-sign a player that already plays for you, you're allowed to offer him up to 175% of his pervious salary, and if that's the money that puts you over the cap, you're allowed to go over the cap by that much, so it essentially "doesn't count."
So like, it is a limit, but with a hard cap, they would never be able to afford 175%. In that sense, it does work for the players. I can see why the players hate the franchise tag in the NFL. That's completely different. I'm using the concept of "franchising" a guy colloquially, to mean "homegrown discount."
The whole culture is different in the NBA. The cap floor is 90% of the cap ceiling. They literally force owners to spend on the roster. The NBA has way more of a "this is just a giant toy" culture whereas the NHL has more of a "I need to maximize every penny out of this" culture.
And I understand that to an extent with the overall lower revenues that the NHL generates, but at the same time, nobody who buys a hockey team is living paycheck to paycheck off of the hockey team.