At this time, he is thirty eight years old and at the top of his game. It is time for him to retire while he is in the peak. He has made so much money that he has started donating it to charity, which means he has enough to support his family. It is his family's turn to enjoy him, while they are still young, and while he is still young. Yes, it is time for him to retire.
David Beckham should not retire because he is the best to ever play soccer and it will hurt the sport. I think he will bring in a lot of money for any MLS team that is willing to buy him. He is older now but he can still take off games if he doesn't feel able to play.
If David Beckam still has the skills to play (not to mention still attract people to the sport of soccer) let him continue to play. As long as he isn't lacking in any way, he should play till he decides he's ready to retire. If he still has the ability to play let him do it.