The chief issue with external incentives like "fame" or "money" is that they will attract a lot of people who care about the reward, but not the work. If they can find a way to cut corners, they will. So it works fine if you have a very tight, objective and reproducible evaluation criterion such that you can't get rewarded for poor or sloppy work, but even in science this is difficult to establish, especially in a crowded field where most advancements will be small and incremental. Science works a lot on trust, if only trust that the described experiments were indeed made and the results were indeed as reported.
That's why I feel we get the best science when it's driven by people who just intrinsically want the best science, because getting it right is a reward in and of itself. It'd be neat if it was possible to identify them and just let them cook, regardless of whether results are produced or not. Paradoxically, I think this may be easiest in a setting where academia is undervalued -- the knowledge-seekers will always self-select into research (provided the conditions are good enough and they are not too undervalued), but the fame-chasers will have to find their validation elsewhere.