I think a big part of contracts is just the "respect" component. What you get offered shows how a team values you. If you think you are a top player in the league at your position, you want to be valued that way by the organization you are playing for, and your contract is a direct representation of that. It's not just about the money, of course, but top players feel that they have earned a big contract and getting offered less is disrespectful.
So yeah, it isn't always just about securing their future financially (despite so many players bringing up the "feeding our families" crap), but most players go where teams value them the most based on the contracts that they offer.