I believe there are two main reasons why athletes can not walk away from the sport.
First and probably foremost is the money. With such outlandish amounts of money being paid some athlete, the tendency to stay on beyond your best productive years is mighty hard to resist. Of course it helps when you have owners with seemingly unlimited funds willing to take a gamble that the old work horse can put in just one more year and bring his team to glory. Two names come to mind, one being Snyder of the Washington Redskins and Steinbrenner of the Yankees.
The second one is their ego. They want to be in the spotlight and have a hard time moving on. What has Brett Favre got left to prove. He doesn't need the money and he is not going to set any more records, no matter where he goes. I believe he will probably just taint his Packers legacy by playing one more year. I would bet you that wherever he does end up, the coach there will be forced by the owner to play him, even if he is not playing at a high caliber just because he is being paid so much. It is or at least should be a rule that when a player retires, he remains retired.