It's a lot of things.
He's a good player, but he's not in the same league as most of his new team-mates (even McManaman is probably a more skillful player).
The star status of his wife certainly helps him a lot. He probably wouldn't be famous in the USA if it wasn't for her. She comes from the "manufactured" part of the music industry, which is excellent at promotion. His wife is a prime example. Despite having absoloutely no talent, she has become one of the most famous people in England. The reason behind his frequent changes in hairstyle and his outlandish (or stupid, dpending on your point of view) dress sense is entirely promotion.
Beckham is a brand now. In the UK, and some of Europe, if a company gets Beckham endorsing their product, it has the same effect that Tendulkar has if he endorses a product in India.
A lot of it also has to do with the nature of the media in England. The tabloid newspapers are obsessed with celebrity. When Beckham had his head shaved it got on the front of the newspapers. It's hardly news is it? But it all helps with the promotion of the Beckham "brand". The "Daily Mirror" newspaper even has a David Beckham correspondent!
I suppose his looks have a lot to do with it aswell.
He is extremely overpaid. He is the captain of the England football team and earns more in a week than the England cricket captain earns in a year. And the cricket captain is a much more highly pressured job.
I think it is a mistake using him as an "ambassador for football". His sportsmanship has been shown to be severely lacking in the past. He frequently argues with referees and dives occasionally.
His intelligence can be questioned. When he had his head shaved, he paid 25 pounds for the privelege. My hairdresser will do it for less than 2 pounds.
That was quite a long post wasn't it? Despite all that, I do think he's one of the best English players, but not one of the world's best.