Contracts are only bad in hindsight.
At the time of the signing there is no player who will sign a contract that doesn’t represent, within a reasonable margin, what they think they are worth (delusion and collusion aside). And no owner will sign a contract without the same conditions.
Outside sources may, at the time, ask either the player or the owner “wtf were you thinking?” but at that time the player and owner believe the contract was fair, or gave them the appropriate leverage they need for the future.
In hindsight, there are probably only a small handful of contracts where both the owner and player are still happy with the conditions of the contract. The other 95% the player is either grossly underpaid or overpaid. That’s the nature of of any agreement that lasts more than a year.