Trey H

We can afford anyone. We can't afford everyone but we can afford anyone. We make calculated decisions on who we pay.
In a standard season, I'd be inclined to agree with you on that premise, but not that season we couldn't.

The 2020 salary cap was $198.2M and considering it had risen ~$10M+ every year for 7 consecutive seasons, our front office made decisions for previous seasons with that factored in, speculating that the cap should be close to ~$208M by the time the 2021 offseason rolled around. Then the COVID season happened.

So instead of a ~$208M projected salary cap it was instead $182.5M, about a $25M discrepancy they then had to deal with. Hence the massive number of releases of 2020 starters just to get cap compliant. Not including the required signings/draftees that would need to fill those holes.

The one to franchise tag Marcus Williams and let Trey Hendrickson walk was based on the fact that Davenport was under contract for a couple more years and the hope that he would pan out. I was on the side of teams don't let pass rushers like that walk. I wanted to keep Trey, let Marcus walk and have PJ/draft pick play FS that year. We definitely could've given Trey an extension that kept his cap number at or below the 10+mil we had Marcus Williams at. We chose MW over Trey. It didn't work out.

But lets say we instead just swap out the money from the tag we paid Williams for Hendrickson, we still had countless other holes in the roster (at starting roles or key depth) we had to address including QB1, QB2, WR2, TE1, TE2, FB, CB2, SCB1, LB2, DT1, NT1, and P. Of all of those positions, we arguably only upgraded at 2 of them: Alexander (traded for)/Werner (drafted) for Anzalone and Robey (traded for) for Robinson.

One thing I find interesting about the whole situation is the perception of who should've been paid vs. let walk due to hindsight. When you look at the stats, Davenport had better stats through his first 4 seasons as a Saint than Hendrickson did through his first 4 seasons:
If the front office really felt they swung and missed by letting Hendrickson get out the door (despite allegedly being able to make the contract work), don't you think they would've then extended Davenport (who had the better stats in a Saints uniform) in attempts to avoid making the same mistake twice (despite it would've been a colossal mistake)?

What it really seems to have come down to is Hendrickson blossomed late and was due up to be paid in a year we massive cap restrictions. Had Hendrickson developed a bit quicker, the team likely would've pulled the trigger on an extension before his play priced him out of our price range. For comparison these were the numbers the last few times we doled out big money to our young pass rushers:

Cameron Jordan (2011-2014, 64 games): 29.0 sacks, 50 QB hits, 31 TFL, 5 FF
Junior Galette (2010-2013, 48 games): 21.5 sacks, 42 QB hits, 25 TFL, 2 FF
That was actually Galette's second contract extension because the season before he signed a 3-year deal for $9M; his stats before that extension: 9.5 sacks, 20 QB hits, 11 TFL, 1 FF in 32 games

Hendrickson's stats through that same period (2017-2019): 6.5 sacks, 18 QB hits, 6 TFL, 2 FF in 30 games; personally THIS would've been the time to lock Hendrickson into a multi-year deal with the option to extend further at a later date like they did Junior, not wait until AFTER he explodes for 13.5 sacks. Jordan went off for 12.5 sacks in 2013, but he still had 2 years left on his rookie deal.