I often find that by the time I've finished my three point name generation plan I already know an awful lot about my character. The massive positive of this approach is that it creates a character that already has a lot of his backstory filled out for him. The negative of this approach is that it, obviously, takes a very long time.
I
like this approach, especially the history part of the name. Names do survive; prior generations of English-speaking ancestors (and maybe other people as well) re-used names within the family because children died so quickly. They might have had three sons named John, at least two of whom died. Americans were and are big on using last names for first names to indicate inter-marriage with other, usually important, families, like Cotton Mather, whose mother's kinfolk were Cottons. Religion plays a huge role in common Anglo names, while last names often come from trades and locations (Smith, Chandler, Wright, Atwell, etc.). Just about every culture has derivatives of parents' names (Johnson, Rodriguez, Ivanova, Eriksdottir, Eriksson). Heroes, of course, quickly generate hundreds, if not thousands of place names and generations of children named for them. So yeah, why would a particular name survive and get stuck onto a child? And don't discount the whimsy and bad taste of parents, such as (real life examples) a certain Texas governor named Hogg who named his twin daughters Ima and Ura, and a young man who crashed a college party attended by a friend of mine, holding up his ID to prove that yes, he really was named Sherwood Forrest. Heaven spare us from parents who think they're clever.
I am a firm believer that your characters' names should reflect their place in the story as well as have some meaning. Although, one thing I do like about Harry Potter is that just about all the good guys have perfectly ordinary names, implying that perfectly ordinary folk can be heroes. She got awfully cutesy on some of the rest, most notably Lupin, who was not born a werewolf but bitten by one, so tying his surname to a wolf was not actually correct.