Kadri got $7 million × 7 years when he was 31. That is 8.48% of the cap.
When Marner is 31, the cap will be around $123 million. Marner would need 10.5% to hit $13 million. Stars are getting 13–15% currently. But also, he would be 38 at the end of that contract too.
If he signs for 8 years today, he would be 36 at the end of that deal.
At 36, he may not even get a new contract. If he does, there’s a very good chance it’s league minimum.
So... it makes sense financially that he would want to do the 3-year and then the 8-year.
But... it's not beneficial to the team, because they will never get any major cap relief on Marner’s contract relative to other teams’ stars—until Marner is in his late 30s and at that point a cap burden, lol, and only Marner benefits.
Also, the risk for the player is they become seriously injured and lose years of pay because they took the short-term deal.
...which brings into question whether they would play hard in the playoffs or play "safe" to not risk serious injury.
I think most would play conservatively, knowing they could cost themselves $60+ million in earnings.