One thing to consider is if your franchise player plans to leave, is he still going to be that franchise player if you hold on to him for that final season?
I like to think Giannis would still give it his all. I thought KD gave it his all his final year in both OKC and GS. Hayward gave it his all in his final year in Utah and Boston. Jimmy Butler gave it his all on his way out of Philly, etc.
But then you have the flip side, the Vince-Carter-loafing-his-way-out-of-Toronto side, or when players go into business for themselves (either milking/faking an injury or playing just for their own stats). We saw it with Kyrie in the Bucks series. We saw it with AD in New Orleans. And if Harden stays in Houston I would 100% bet we'll be seeing it there. Now not only are you going to lose the asset for nothing, but you're also not getting a championship. You have a franchise player in name only.
But there's also a middle, where it could go either way. LeBron was definitely checked out of Cleveland before he left the first time for the Heat, but I think he was still giving it his all when he left the Cavs for the 2nd time (some think he quit before leaving the Heat too).
Would you have gotten championship level Kawhi if he played out the last year of his contract in San Antonio? I have my doubts, but Toronto definitely got it from him.
So you definitely can't assume you'll be getting 100% from your star if you hold onto them, that changes the math significantly.
If 100%-focused-and-will-play-through-anything Giannis gives the Bucks 20% chance at a championship, I say roll the dice, hold onto him, and go for it.
But if you'll actually end up with 75%-focused-and-will-sit-out-with-any-minor-injury-and-will-fold-at-the-first-sign-of-adversity Giannis, then you're fooling yourself if you think you have a shot at it all.