Lebron is greedy and ego driven, but I don't think that's a bad thing. He wants to be known as one of the greatest ever, and he wants to be the first billion dollar athlete. If that will help the game of basketball, then that's great.
The fact that he is both greedy and ego driven allows him to succeed. The fact that he is ego driven means that he wont settle with a second rate team, as long as he is making big money. He wants to make the money, and he wants to play for a good team as well, so he can put his name all over the game, and also help out the people around him.