I find that I use players in a 3 year cycle, on a delay with eleven players in season 1 phase and the rest in season 2 phase at any one point.

Season 1 - Buy players that are one or two points away from being scout players on the first couple of days of the season.
Season 2 - I bring in eleven or so new players in that are one or two points away from being scout players. They become my main players, whilst the players from season 1 become my back up players. Towards the end of season 2 the season one players are being sold to make space for the players coming in in season 3.
Season 3 - The last of the players I have from season 1 are sold, with new players that are one or two points to six star being brought in. The players from season 2 become my reserve players, who are looked to be sold towards the end of season 3.

The cycle is never ending as I keep promoting.

Only very rarely do I renew a player contract - as if he hasn't sold by the time his 3 years is up I release him to bring new blood in for free as the player has become obsolete to my needs.

I know some people keep the same players for years on end, but I feel it takes a lot of training to keep the players at the required standard and personally I just prefer to get rid and bring new in.