They also have "job security" for the duration of the contract and if they are "fired" as we traditionally understand it usually they have to be compensated in some form (although it depends on the contract).
I only know this because I have a family member who plays professionally. The NFL likes to present an image that they take care of their players. It's a business to make money (and a not-for-profit) and exists only to enrich themselves. If they can short a player out of his money they will do it.