Players may be extended to keep them under team control.
To extend a player go to your Team Menu > General Manager > Roster.
Next, click the extend link to the right of the player's salary.
This will bring you to the player profile where you will see the Contract panel.
Under the Asking Extension section you'll see what the player is asking for an extension, as well as the minimum length of extension they're willing to accept.
Under the Your Offer section you can choose from a list of predefined contract extensions.
If you find one that is acceptable to your team's needs, click the Submit Offer button to extend the player.
For players within two or three years of the end of their current contract, a team may ofer them an extension prior to opening day. This can be a handy way to lock in a prospect at a discount before they have fully matured.
Players in their final year can be offered an extension at any time before the extension deadline.
Extensions may be offered to players in their final contract year through the end of October 1st.
If a player remains unextended after the deadline, he will file for free-agency after the post-season has completed.
More about free agency.
The following information provides more details about how extensions work, for those who are interested.
The player largely dictates the acceptable terms for an extension, based on a number of factors.
The most important factor is what a player thinks they can conservatively earn on the free-agent market. If the player is on a team at a discounted price, the extension salary will reflect the proper market value.
By default, every player expects at least an 11.5% salary increase in the extension. At age 35 and over, that rate decreases.
A low owner reputation translates into a higher requested salary for fewer years. When an owner reputation is too low, the player will not accept any extension.