Both are ok, but in different situations depending on what you are writing about.
Amazon is good for reviews. However, it's really only good if you can convince the reader to buy the product right now. Comparing Amazon to any other affiliate program, it's garbage and a waste of time. Lets say you write a review on a camera, then add an affiliate link to the camera. I click on the link and buy the camera. You get paid, yay. Now lets say I click on the link, then close the browser so I can talk to my wife about it later. She says yes, so I open the browser back up, go back to Amazon, and buy the camera. You get nothing, even though with most affiliate programs you would. Next, I open your link, but buy another camera. Again, you get nothing. Finally, I open the link, buy the camera, but also buy some other stuff. You get paid for the camera, but nothing else. Amazon is notorious for screwing over their affiliates, or partners as they call them.
Ebay, on the other hand, has 30 day cookies. So I click on your link, don't buy anything, but come back and buy within 30 days, you still get commission. If I click on your link and buy something else, you get paid, and so on. Ebay does pay for clicks along with sales, but their conversion rate is fairly low.
Of the three options we have on HubPages, IMO, I would rate them Ebay>>AdSense/HP ad program>>>>>>Amazon. These three compared to all the other affiliate programs available outside of HubPages, they are the worse three to use. All three require fairly high amounts of traffic to make any real money; they all have fairly low conversion rates and incredibly low commissions.