Both are good. Adsense will give you few cents per click, but Amazon can give you much more. Try selling high-end products like TV sets, jewelry, cameras, etc. and you'll make 'dollars per sale' compared to 'few cents per click'.
I have made far more money from Amazon. However, it does depend upon your audience and traffic. If you get a ton of traffic, then Adsense might be best.
Why not put both on your site like many of us do it. Amazon is bigger if your site is about reviewing or explaining stuff and recommending products. Adsense works on any kind of site and it earns me less than Amazon, much much less.