You could argue that every position, in every sport, has a "life expectancy" where the level of play starts to really drop off. Some people, for whatever reason, can still play at a higher level beyond that point. I don't think that there should be a set mandatory age of retirement per se. It kinda works out that way since contracts are usually for only as long as the team expects a certain level of performance. After that point, contracts are of shorter duration, less guaranteed money or more performance based, or both.
A players performance could drop off while he still has year's on his contract. At that point the player could choose to retire early, such as to not tarnish their legacy; or they can keep playing to get that fat pay day. Some teams may cut players and just eat the lost money.
Quarterback is one of the few positions where a talented player could last into their late thirties and still play at a high level. I'm loathe to say anything nice about NE: but Brady, while diminished with age, is still playing at high level and better than most other quarterbacks currently in the league (includes backups). He's certainly past that age though where his performance could drop off a cliff. It could happen next season or it could happen five years from now...