Let's talk about Goku...
I can be quoted saying that Goku is not really the hero he is made out to be. The man is most interested in getting stronger and abandons what I would call family obligations. Goku is incredibly selfish, but he is also pure of heart. He can ride the Nimbus cloud for starters. Goku is very much a good guy! He just has his own outlook on life. There are not many people who can beat a lesson in to Goku because Goku never really changes his mindset, but he does seem to be accepting of everyone. He even gave Freeza a multiple chances as well as Vegeta.
Goku will fucking fight you! He never relents on where he stands and will make you see his way eventually. Just look at Tien, Piccolo, and Vegeta for starters. They all wanted Goku dead and now they strive to be half the man Goku is. That pains me to say as a Vegeta fan, but Goku is the fucking man! I envy the way he can do what he wants and everyone forgives him for it because he is fucking Goku!
To end the argument of whether Goku is more selfish or more heroic I will leave this:
Goku was not the strongest at this time but he still stepped in and did what he had to do to protect his son and everyone else he cared about. This sort of dedication puzzled and ultimately defeated Vegeta. This was the beginning of the new Vegeta we can see in Dragon Ball Super.
It's a powerful scene for anyone who can empathize with Vegeta. It took self sacrifice on his greatest rival's part to drill it in to Vegeta's head. Some things are just more important than pride and Vegeta learned this the hard way.
Goku's faults can be chalked up to the fact he is dumb as rocks, lives in the moment and is mostly interested in doing his own thing. Even so, he seems to have an influence on people as well as characters. Just look at Naruto and Luffy. There is so much hidden depth in the Dragon Ball universe that I can post things like this! I think everyone can learn a thing or two from Goku.