Because 9 years from now is not guaranteed to have a job any more. If the money he is receiving in those 8 years is enough for him and his family to live off at the level they want to live at, then having that guaranteed money for retirement would be handy. And even if he is still in the league that 15 million that year will probably cover the change in salary going into his final years in the league.
There are lots of reasons to defer money when you are that level of salary and in a job that has a low average career lengths and early age of retirement.
If there are lots of reasons to defer salary, please provide at least 1 single reason. I'm not suggesting it makes no sense at all and there is no reason for a player to do it, I'm willing to admit I'm thinking I must be totally missing something because I can't think of a single logical reason. I can think of some reasons, but not reasons that aren't easily accomplished by simpler means.
So, for example, guaranteed payments is not a reason, a regular contract can ensure the same $$ are guaranteed. I'm going to have to guess at what you are saying here, but are you saying, rather than play for 8 years and get paid for those 8 years, you take a bit less during those 8 years so you can then get paid some more money in the 9th year when you might not have a job anymore, so it will be good to have cash coming in? If that's the case, that certainly isn't a logical reason. If someone really has that concern, take the money you make now and put in a guaranteed investment that matures in 9 years.....