NBA and NFL dont have a hard cap with limited flexibilitynot sure about that, NBA players run that league, as do NFL ones. MLB players actually fight the owners and refuse to cave to a cap.
NHL players act like they will fight but then caved on the cap. They sign 8 year deals at 21 years old and are stuck with that team. NBA and NFL guys go hard for free agency but NHL players do their utmost to avoid it.
Top NBA players get max cap after their ELC and teams can go over the cap if they are willing to pay luxury bills
You can work around the cap in the NFL with most having partial guarantee contracts and your paying 53 players with 275 mil to work
Their careers are limited so they chase the bucks in free agency , its the best run sports league where flexibility
NHL is a totally different animal paying 20+ players with a 90 mil cap , the revenues simply arent there like other sports