Sending a man to the moon was the result of billions of tax payer currency being pumped into the state funded space programme without any intent of making money, but purely out of geopolitical and military reasons. The evil soviets could not be allowed to win the space race.
Just look at today’s private space companies. Space tourism is what they want. And that in baby steps. Using technology created by government employed scientists and engineers. Had the US just waited for private companies to go into space and to the moon, the Soviets would have won the space race to the moon, too, in addition to having the first object in space, the first animal in space, the first man in space, the first woman in space, the first black man in space, the first space walk, the first picture of the back side of the moon, the first landing of a probe on the moon and the first space station. Chances are the US would have never made it into space at all, because private companies do not have the motivation nor the funds to take the risk of space pioneering, because they need to make money from day one, and one rocket exploding on the launchpad or during ascent, as it happened many times, would have meant instant bankruptcy for any company.
Point is, you can not compare commercial products like cars, pills, etc. with government funded development projects, because in terms of resources and motivation, the latter vastly outperforms the former.
As for your examples, the answer is simple: lack of motivation. Fuel in the US was dirt cheap and therefore there was no demand from the customers of american car manufacturers to develop such vehicles. (Of course, elsewhere on the planet, they are developing fuel efficient cars, like this 235mpg(us) VW.)
Larger bills encourage more spending, so why would they want to hand out smaller values?
And why make a skinny pill that actually works? The customer would use it just once, or once in a year. Better to sell pills that do not work at all but make gullible customers, which are plentiful, buy them again and again.