Thats the difference, RFA-age players do not have that option. They cannot, even when not under a contract, seek employment with another team. Its "work for this team, or leave the industry"
And its not a parallel to say the player works for the Company (NHL) and works in an office location (Team city). Neither the players, nor the fans, consider a player as an employee of the league; they are an employee of the team. A bunch of teams all agreeing not to hire employees 'because they belong to team X', is a form of collusion, as far as i am concerned.
You can leave your Fortune 500 company, and get a job in a different Fortune 500 company.