© USA TODAY Sports

Last week we published the Best Deals of the 2023 NBA Offseason. In an effort to be balanced (and maybe to prove that the author doesn’t actually “love every deal”!), we’re presenting the Worst Deals of the 2023 Offseason.

But there’s a pretty major caveat with this one: It’s getting really hard to put together “worst deals” lists. NBA teams have simply gotten smarter about signing good contracts. The new CBA may have even more of an impact, as identifying and signing midrange contracts will become more important than ever.

All of that said, this list includes some of the more…let’s say curious…decisions that were made this past summer. Not even all of these were signings. That’s how thin the list of truly bad deals is. Presented in no particular order, the Worst Deals of the 2023 Offseason.

Dillon Brooks – Houston Rockets

Contract: four-years, $86 million

Dillon Brooks tenure with the Memphis Grizzlies ended in ignominy. He ran his mouth until it ran him out of town, with the Grizzlies front office saying there was no way he’d be returning. That saw some suggest that Brooks would be lucky to sign for anywhere from the MLE to the minimum, to some even suggesting he should start learning Chinese.

All of that hyperbole proved to be just that. Brooks landed one of the bigger deals for a player who changed teams this summer. And that contract just kept growing from the initial four-years, $80 million report to the final four-years, $90 million reports. Instead, the contract settled right in the middle at $86 million, with some incentives baked in.

Was Dillon Brooks overpaid by the Houston Rockets? Yes. Is the contract an egregious, cap-clogging calamity? No. Not even close, really.

Based on his defensive ability alone, Brooks was going to get an MLE deal. He’s an All-Defense guy. To suggest less than the MLE was foolishness of the highest order. And, while he’s an inefficient gunner at his worst, he’s not a terrible offensive player. Brooks should settle in as the fourth or fifth offensive option for the Rockets most nights. In games where guys are out, Brooks can, and will, score more. It might not be pretty, but he can do it.

Mostly, this contract was the kind that Houston had to hand out, if they are serious about moving the rebuild forward. Brooks, along with Fred VanVleet and others, will help a very young team grow up. He’ll also inject some confidence in a group where that wavered at times. That’s part of the culture Ime Udoka is attempting to build. But the contract was still an overpay, even if not the tremendous mistake many have painted it out to be.

Jerami Grant – Portland Trail Blazers

Contract: five-years, $160 million

Jerami Grant re-signing with the Portland Trail Blazers needs a whole lot of context. When reports of Grant’s deal came out, the initial response was “Well, hopefully that helps the Blazers keep Damian Lillard.” When reports came out shortly thereafter that Lillard asked for a trade, the responses were “Dame took one look at Grant’s contract and asked out!”

Grant re-signing and Lillard’s situation are probably fairly independent, but there’s at least a couple of strings tying them together. It’s doubtful that Grant re-signing caused Lillard to ask for a trade. That’s not usually how it works. It’s not as if Portland was signaling that they chose Grant over Lillard in any way.

On the flip side, re-signing Grant was likely something the Trail Blazers were ok with, without any dependency on what Lillard chose. But…the Blazers probably hoped that bringing back a key vet would entice Lillard to stick around.

So, where does that leave us? Well, Lillard hasn’t been traded, and there are no signs that Joe Cronin is budging off the massive return he wants for his star guard. And Grant is still signed to a deal that averages $32 million a year.

 Let’s start there. That’s really not a bad value for Grant at all. He’s miscast when he’s a team’s primary offensive engine. When he’s the second, or even better, third option, he’s actually really good. If Grant can cede the offensive lift to younger options like Scoot Henderson, Shaedon Sharpe or Anfernee Simons, he’ll be an efficient player for the Blazers.

What makes this one of the worst deals is that the Portland is going to trade Damian Lillard. Whether it happens before this season starts, in-season or next summer, it’s going to happen. At that point, the Trail Blazers are rebuilding. And, like we saw with the Detroit Pistons, you don’t need Jerami Grant leading the rebuild at north of $30 million per season. Circumstances matter, and they turned on Portland in a pretty rough way with this re-signing.

Bradley Beal – Phoenix Suns

Contract: four-years, $208 million remaining

This one wasn’t a signing, as you very likely know. But that doesn’t mean it wasn’t a curious trade acquisition, given the fit, injury history and money owed for Bradley Beal.

The Phoenix Suns had one shot to cash in on a Chris Paul trade. They did it this summer, but they could have waited and taken it into the season. Nothing in Paul’s situation was likely to change all that much. Even if he’s still productive, he was seen a contractual means to an end, as much as an on-court plus. At least, that’s how the Washington Wizards saw it. Washington acquired Paul as much to shed Beal’s contract, as they did to then flip Paul in the subsequent Jordan Poole trade with the Golden State Warriors.

Back to the Suns…what is the plan here? Phoenix doesn’t have an established point guard on the roster. Beal, Devin Booker and Kevin Durant are all plus-passers for their positions, but none have truly led an offense as the primary plate-setter. Maybe Beal can do it. Maybe Booker will do it. But someone has to. They can’t all maintain their score-first nature.

And then you have Beal’s lengthy injury history and the $208 million he’s owed over the next four years. No contract is untradable, we’ve long-since learned that lesson, but this one is rough, and will only get rougher as the years go along. Phoenix is locked into this group now. For better or worse, for at least the next year or two, this is what it is. Maybe it goes spectacularly well, and the Suns win that long-awaited title. But there are just as many multiverses where this all falls apart and Phoenix is stuck fixing a messy cap sheet for years.

Reggie Jackson – Denver Nuggets

Contract: two-years, $10 million

Is $5 million a year for Reggie Jackson going to break the Denver Nuggets? Absolutely not. It just feels unnecessary, and like Denver let a potential signing tool go to waste. Especially with a player option on the second season.

Jackson has the look and feel of a veteran minimum player at this point in his career. That’s fine. Almost everyone ends up there at some point. Conversely, the Nuggets are capped out and dancing around the second tax apron. Their only real signing tool this summer was the $5 million Taxpayer MLE. Why give it to Jackson?

At best, Jackson will be the regular backup point guard and will allow Denver to spot Jamal Murray rest in games, if not entire games off, when he needs it. At worst, Jackson will be at the end of the bench, not playing, while other value signings around the league are getting run for good teams.

We’ll take this opportunity to caveat something: It’s entirely likely that Denver gave Jackson this contract with the idea of him being a piece of salary-matching in a trade. Jackson waived his ability to block a trade (he has an implied no-trade clause, because he’s effectively on a one-year deal with Early Bird rights after), so that potential stumbling block is removed. Because the Nuggets have managed to stay about $4.7 million clear of the second tax apron, they have enough wiggle room to add some salary in trade without tripping any of the harsher penalties that hit super tax teams. If that’s the case, bravo to Calvin Booth and the Nuggets front office. Until then, this just looks like an overpay and the loss of a potentially valuable signing exception.

Kristaps Porzingis – Boston Celtics

Contract: three-years, $96 million

When the Boston Celtics acquired Kristaps Porzingis at the start of the offseason, reports came quickly after that they would sign him to an extension. And they sure did, at the price of $60 million tacked onto the $36 million Porzingis was already owed.

If, and it’s a massive if, Porzingis can stay healthy AND if, another big if, he fits well next to Jayson Tatum and Jaylen Brown, this deal is fine. Porzingis was awesome last season. He was terrific on offense and turned in the best defensive season of his career. He also stayed mostly healthy, as his missed games at the end of the season were more about Washington’s ping pong balls than Porzingis’ health.

But…he’s already hurt. Porzingis had to bow out of the FIBA World Cup due to plantar fasciitis. That’s not a great way to start his tenure with the Celtics, and it’s something that could linger. And the fit questions will be there until we see it work. And it needs to work in the playoffs, not just the regular season. Boston is well past regular season wins being a meaningful barometer of success.

Add it up, and $60 million for an already expensive, and only getting more expensive by the year, team was quite the risky commitment. And, as many have pointed it out, why not see how it all worked first? This extension would have been there all the way until the end of June.

Nikola Vucevic – Chicago Bulls

Contract: three-years, $60 million

This one isn’t about the contract, as much as it’s about the direction of the franchise. Nikola Vucevic is worth $20 million a season. That’s true no matter how much you bring up his defense. He’s durable, he rebounds and he’s very good on offense. That’s a $20 million player all day.

But where exactly are the Chicago Bulls going? Does this extension lift them by having Vucevic locked in? The answers are “Who knows?” and “Not really.”

And that’s why you don’t sign good-but-not-great players to extensions like this. If Vucevic was the final piece to a team on the verge of title contention, extend away. But this team looks like it could break up fairly soon. Maybe even as soon as this season. Then what? It’s all just needlessly messy.

Last thing: Why not frontload this extension for Vucevic? The Bulls could have given him the same $60 million, but had it decline year-to-year. That way as Vucevic ages, his salary is more commensurate with his ability and, crucially, his tradability. That was a major miss that has to factor in here, as well.

No Offer Sheets – San Antonio Spurs

Contract: None

Fine, this is cheating, but sometimes the worst things are missed opportunities. That was the case with the San Antonio Spurs this offseason.

The Spurs had over $30 million in cap space this summer. They used that $30 million to come away with exactly zero long-term rotation players. And they didn’t even acquire great assets by renting out their cap space either. A couple of vets may stick for this season, but the chances of them being a part of the next great Spurs team are very, very small.

It’s fair to point out that the free agent class wasn’t a great one. Inevitably, someone will say “Did you want San Antonio to do what Houston did?” And that’s a reasonable question. But the Spurs weren’t under the same pressure to add win-now pieces, which is where the strategy differs.

And that strategy mostly falls at the feet of not making any of the incumbent teams sweat with a restricted free agent offer sheet. The most-talked-about example was with Austin Reaves. San Antonio could have forced the Los Angeles Lakers to match a nearly $100 million offer sheet, and to take on the wonky cap hits that would have come with matching. But the Spurs left Reaves dangling for too long, and he eventually re-sign with the Lakers.

They also stayed away from Herb Jones, who in fairness likely had a prearranged deal with the New Orleans Pelicans when they declined their team option. Cam Johnson could have made some sense. Grant Williams and P.J. Washington certainly made sense. Even Ayo Dosunmu and Coby White could have made sense for point guard-thin Spurs.

Mostly, this was a chance for San Antonio to do that second big thing, after drafting Victor Wembanyama. Instead, they just punted on it to act as a clearinghouse for cap- and tax-strapped teams, without coming away with any choice assets for doing so.

Rui Hachimura – Los Angeles Lakers

Contract: three-years, $51 million

Rui Hachimura was a revelation for the Los Angels Lakers after they acquired him in January. The regular season saw him do fine, but Hachimura really took off in the playoffs. He was one of the Lakers most consistent scorers during their run to the Western Conference Finals.

It wasn’t a surprise that the Lakers wanted to re-sign Hachimura. What was surprising was giving him $51 million fully guaranteed over three seasons. Who exactly was Los Angeles bidding against? Maybe another team would have given Hachimura the Non-Taxpayer MLE, but even that seems a stretch, given how that exception was utilized around the league this summer.

To be fair, Hachimura isn’t grossly overpaid. He’s still very tradable at an AAV of $17 million. But for a team that is locking into a good amount of long-term money, every dollar matters. And the Lakers added several million more dollars here than they needed to.

Donte DiVincenzo – New York Knicks

Contract: four-years, $47 million

This is another deal where the value is fine, but the fit is a little weird. Roughly $12 million AAV for DiVincenzo is fine. He’s a good player, and he’ll hold less-than-MLE value throughout the life of this contract. But where’s he going to play?

The Knicks backcourt currently features returning starters Jalen Brunson and Quentin Grimes. Immanuel Quickley is one of the best sixth men in the NBA. RJ Barrett starts at the three, but he might be best as a big two. Josh Hart can play the two, even if he’s kind of the pseudo backup four for New York.

That’s five quality guys who at least sort of overlap with DiVincenzo positionally. Oh, and Evan Fournier is still around too, even if he’s just a contract for the Knicks at this point. Suffice it to say, that’s a lot of guys.

The Knicks never really filled Obi Toppin’s spot as the backup power forward. As we’ve talked about before, that’s only about a 10-minute per game role behind Julius Randle, and Hart probably fills it. But if Randle goes down with an injury, there isn’t a real backup four on the roster. New York could have spent some of the money they gave DiVincenzo to fill that hole instead.

Now, if DiVincenzo is cover in case things go sideways with extension discussions with Quickley, that’s one thing. But that would bring up a whole other set of problems for New York that we don’t really need to get into right now, and hopefully won’t ever need to, for the Knicks sake.

Russell Westbrook – LA Clippers

Contract: two-years, $8 million

Russell Westbrook played really well for the LA Clippers down the stretch of last season. He shot it better than anytime since his prime OKC days, and he did everything else you want too. His efficiency dropped in the playoffs, but by the end of the first-round series with the Phoenix Suns, Westbrook was kind of all the Clippers had going for them.

Re-signing Westbrook was fine and a bit of a no-brainer. He earned a new deal, and the Clippers had no other established point guard options. But why did LA have to do a two-year deal for more than the minimum? This deal only pays Westbrook slightly more than a veteran minimum deal would have, but that means it comes without any of the NBA subsidy that allows for lessened tax hit.

On top of that, the 26-game sample of Westbrook with the Clippers was really good, but it was just 26 games. Is that repeatable for a team with title aspirations? Was it worth giving Westbrook two years AND a player option?

Lastly, LA didn’t get Westbrook to waive the de facto no-trade clause that comes with this deal. That means they’ll need his permission to trade him. And that sort of removes the benefit of upping Westbrook’s contract value in the first place. It probably won’t matter, but this was messier than need be.