Fact: Vegeta is unofficially the best character in the entire series of "Dragon Ball." I would even argue that he’s unofficially the main character, too. Maybe it’s the attitude. Maybe it’s the awesome spiky hair. After all, he’s the one who drives the entire plot. He starts everything off by arriving to Earth. He drives the plot on planet Namek: if it wasn’t for him, everyone else pretty much would have died.
Goku has zero character development throughout the entire show. He starts off as the happy-go-lucky warrior who is a really good fighter. He ends the show as a happy-go-lucky warrior who is now a really really good fighter. Vegeta, on the other hand, starts off as the most ridiculously cocky prince possible. He’s a very dynamic character across every challenge that he goes through. Unlike everyone else, who seems locked in one place, he changes. At first, he comes to Earth as the bad guy. All he wants is the Dragon Balls. But he underestimates Goku and talks himself up. But really, he’s pretty much a chicken. After losing to Goku and going to Namek, he spends his entire time mostly trying to avoid Frieza. He only fights those he knows he can win and this, coupled with his overestimation of himself and underestimation of others, leads to him dying and being resurrected on Namek, losing to Goku and losing to Android 19.
His biggest flaw is his pride, however. As prince of all Saiyans, he should be proud, right? Well, he’s a little on the overly egotistical side. He wants to test his own abilities (which almost cost the planet its existence sometimes, but whatever). But what is his biggest flaw is also his biggest strength. He’s so humiliated after every beating that he pushes himself further and further: he refuses to give up. No one drives themselves harder than Vegeta does. This pride is what evolves him from a self-centered, spoiled idiot, to someone who we can really call a hero.
With Goku offsetting him as the moral guidance of the show, you can really see where Vegeta is changing. Other people, like Goku sparing him originally, Bulma caring for him when Vegeta injures himself, show him what a truly good person is. Other moments of Vegeta highlight his change, such as his willingness to work with Gohan and Krillin to find the Dragon Balls and keep them from Frieza on Namek, when he originally denounced them upon his arrival to Earth as weak and pathetic. With every villain that he fights, he realizes that in order to defeat them he has to let go of his pride, and destroy them at any and all cost. This is really shown in the Buu saga: Buu has to be defeated, and so Vegeta gives his life in order to achieve this.
There are a lot of good life lessons to be learned from Vegeta. The best one is probably not to go attack a planet at random, underestimate the abilities of your opponent and then start a whole series that takes years of episodes to finish.