Well . . .
Do you think Vivi, before meeting the Straw Hats (or even running off to infiltrate Baroque Works) was ready to really be her people's princess? I'm not really sure on this, but if she wasn't ready then I think everything she did helped form her into a better ruler.
A lot of the ruling powers in One Piece are without a doubt corrupted. Several Marines, Wapol, Enel, ect. Vivi, though arguably "corrupted" because she's friends with the Straw Hats (who are wanted criminals in the eyes of the rest of the world), still does everything for her people. The corrupted rulers and leaders are all doing things for themselves.
I also feel like her character could have a lot to do with Crocodile as well - he's in contrast with her. She represents a leader who wants to protect and help her people, and Crocodile clearly doesn't - he doesn't even seem to like the rest of Baroque Works very much (doesn't he say he never really trusted any of them? please correct me if I'm wrong).
Keep in mind she was never made a crew member, all of whom have something that can be seen as a personal flaw, trait, or failing that can be easily point out. Vivi? Not so much, but at the same time she didn't stay in the main cast.
She's not my favorite character but I certainly don't dislike her, though I can understand where people don't flock to her.