Distilled to its essence, the answer to your question is that what is best for the American people is very different than what is best for major corporate interests, and the latter has more say than the former in who eventually gets elected. In order to be elected president, a candidate must raise several million dollars from groups and organizations that represent a business interest which is completely opposed to the betterment of American citizens' lives. In order to gain enough votes to win an election, a candidate has to receive a lot of positive media attention and all major news outlets that reach a lot of viewers are owned by media conglomerates that also do not have the American people's best interest at heart. So the candidates who make it to the presidency are the ones who were most effectively able to court big businesses, the military-industrial complex, and the media, something that requires a candidate to not actually want to solve most of the problems in this country and better the lives of his electorate. Gravel and Kucinich are the only real liberals in this race, just as Ron Paul is the only real conservative. Those three do extremely well among the most informed and active voters, but have no mass appeal and are considered fringe candidates because they aren't bland enough and want to change too much of the status quo to be accepted as legitimate candidates by the media or to receive enough funding to succesfully campaign. Of course they're better candidates, because they really do want to drastically change the country for the better, but what makes them great candidates is exactly what makes them unelectable in the modern political system and its extremely close ties to big business.