In the NFL. there is a salary cap and while money in contracts can be guaranteed, the contract itself is not. For people outside the US this makes no sense but basically every contract has a bonus, which is guaranteed, and then an annual salary, which is not. A team can waive a player and the money of the bonus counts 'against the cap' while the annual salary is prorated.

That means in a negotiation between players and teams the lines are clear - if a player signs early in the offseason, the team is spending more money whether it pays a bonus or not. For elite players, this makes no difference, teams would be foolish to delay negotiations and let someone else sign a great quarterback, but for pulling guards only used in third and long situations and therefore down on the depth charts, timing is crucial.  Teams will wait to sign those players and take their chances on them being available.

A paper looked at 4,220 contracts signed in the NFL from 1994 to 2003, focusing on the 1,428 contracts in that span that were two years or longer, as well as corresponding player performance data.

Hazard rate of termination for players with roster bonuses, with controls for contract and player characteristics.  DOI: 10.1086/676647

The NFL is a good model because it has a union, and therefore a minimum salary, but also a salary cap and thus a lot of parity among teams. Timing really does matter because payments are staggered and the bonus is paid if someone is on the roster.  That also means a contract termination will happen sooner rather than later. 

Salary or bonus?

The paper found that contracts that contain roster bonuses in a given off-season have a higher termination and renegotiation hazard in the period before roster bonuses are due. It also found that teams are willing to pay less when a larger share of compensation is requested as a bonus. Analysis showed eams are willing to pay approximately $260,000 less for a 1-standard-deviation increase in the share of compensation that is paid in roster bonuses rather than salaries. 

"What does a nonguaranteed contract mean for a player? It means that if I, the team, want to keep you, I have to pay you this money (roster bonus), but if I don’t want to keep you I can just terminate the contract," says Gregor Matvos, an associate professor of finance at University of Chicago Booth School of Business. "So in some ways as a team, I have an option on your play. But of course there is a price for this contract ex ante. ... Just because a player doesn't have a roster bonus doesn't mean they're worse off. Hopefully they got compensated appropriately for it, with a bigger signing bonus or a bigger salary. It's stunning that such a little difference could matter so much."

So if you are young and healthy, sign early and take a smaller bonus. It makes teams feel like they are paying for performance. If you are a veteran, wait it out and take the bonus - teams will have to pay for experience

Citation: Gregor Matvos, Renegotiation Design: Evidence from National Football League Roster Bonuses, Journal of Law and Economics Vol. 57, No. 2, May 2014, DOI: 10.1086/676647. Source: University of Chicago