Cleveland can never afford to trade LeBron. Even after/if he falls off. Even if he's 36 and they get offered whoever is the best player in the league at the time. Having LeBron retire as a Cavalier would mean more than winning extra games for two years at the end of his career, particularly financially. This ain't some Danny Ainge Boston shyt.
San Antonio probably could've got something more technically valuable for Duncan near the end. Same with LA with Kobe. End of the day shyt ain't really worth it. Reward your fans with that farewell tour, even if you gotta end it with a losing type season.
Not to mention that right now it's looking like 34 year old LeBron will still be the best player in the league anyway.