Okay,
A little better compare and contrast.
JHNameGen takes a finite set of names and mashes them together to form the random names. While this can get quite huge, quite fast (if you have first name and last name and 50 of each, that's 2500 names!) it is still a finite set.
This isn't bad, that's not my point. And, I think it is quite good for Tavern or ship names, which are usually easily remembered and probably often repeated between towns.
However, for names, there are always going to be more names that you can add to the list, whether it is a different spelling or a new name altogether.
EBoN creates random names, based on a specific rule set. It also gives you this rule set, so that you can extend it to whatever you like. I am not saying that it is easy to do this, it will take some work.
I have seen the same name before. How is this possible? With EBoN, the program is creating names based on rules and probabilities. Depening on the settings, it might be likely to see those names again. Also, there are some rule sets that have very simple rules, which makes it more likely to see the same name again. (If I knew the rule sets better, I would explain this better.) It isn't as if you see the same name every 10th, more like every 100th if that often.
It might be a good thing to have both. Use EBoN to create a random set of names, then you don't have to make them up, and use JH NameGen to create the names from the created name set. Or, use EBoN for person names and JHNG for ships, taverns and other more common names, where repeat is not only more likely but desirable by the owners.
I don't know that I am saying one is better than the other. I merely wanted to explain more about them to the OP.
I hope this helps!
edg