I've never understood the fascination with giving money and term to bottom of the lineup players. Especially term.
The only exception would be a third line center. Everything else, bottom pairing d-man or 3rd or 4th line player, I would never sign to more than two seasons.
The amount of roster turnover from year to year is (if my memory serves me right) around 15 to 20%. So around 4 to 5 players that were there at the end of the previous season will no longer be on the team and the majority of the time, they're the bottom of the lineup players. I don't remember who our fourth line & the 13th + 14th player from the 2018-2019 season were, but I think the only one remaining at the end of this season was Hudon?
What happens when you give term to bottom of the lineup players? You're stuck with them. Bottom of the lineup players get term at one point in their careers: Unrestricted Free Agency. It's their one and only time to cash in to make their wealth. See Weise, Alzner, Prust, etc
It's also right around the time they're at their peak in the middle-to-late 20s and right around the time most of them see their play tumble down the mountain.
Sometime you're able to trade them, see the Prust for Weise trade, but more often than not, you're just going to have to wait it out with an underperforming player who is taking up a roster spot that could be better used on a younger player.