Let's also talk about the latest trade, I get why Cleveland would want Iman Shumpert but JR Smith is not a good player for them. NY got rid of some awful contracts and the winner here is OKC, they got the player they needed.
The player Cleveland really wanted was Iman Shumpert. New York wasn't going to give up Shumpert for nothing but a 2nd round pick unless they also got to dump JR Smith's contract. To compensate for taking on a toxic contract/player and giving up a 2nd round pick, Cleveland got a 1st from OKC. They're by far the team taking the most high variance risk in this trade. If Shumpert and Smith pan out, they're much closer to being title contenders. But Shumpert might not be the same after his ACL injury and Smith might be constitutionally dysfunctional.
OKC essentially traded a heavily protected 1st for Dion Waiters. Not only did they get an asset for appropriate value, but they also have the flexibility to move Reggie Jackson, who seems like he's going to get a larger contract than OKC is willing to pay. This gives them a better position for the short and long term.
New York apparently didn't want to pay Shumpert's next contract, so they were looking to dump him. Even though they only got a 2nd in return, they also got to dump JR Smith, which is huge. For New York, the consequences of this trade are very clear - open up cap space and get rid of a toxic presence. It's not as high an upside trade as it was for Cleveland and OKC, but there's virtually no downside and the upside is guaranteed.
This wasn't a great trade for any team (especially for Cleveland), but it was a good trade and a smart trade. Every team involved addressed relevant needs, and none of them gave up too much to do so.