Go do a product search, notice how there's no Amazon results? Amazon won't pay to be listed in Google's comparison (yes, they charge for listings) so you as a consumer are prevented from seeing what could be the cheapest option.
Well your first sentence is just bollocks. I search for plenty of products and see Amazon listings all the time, usually high up the first page. Tends to be 50/50 between Amazon and Ebay for the number 1 spot.
And even if your first sentence were true, how is your second assertion in any way Google's fault? Amazon would have the option to pay. If Amazon chose not to pay, well then lack of Amazon listings would be Amazon's fault. Not Google's.
In other, shocking, news, shit offered free to the public isn't always offered on the same terms to commericial entities. Get over it.