I think a big reason we don't have competitive finals is generally not having a harder salary cap and allowing max for contracts. If a player really is that good they should take up 50% of the cap and to balance it out have terrible other players.
Anything else allows stacking value above cost and leading to team imbalances.