Amazon is good when you know how to use it. Unfortunately, amazon hosts more and more sketchy retailers, and I don't understand why they do this. It really hurts their reputation.
So here's the deal: You need to check if the product is actually sold by amazon itself, or if the product will at least be delivered by amazon. This information is given towards the top of the page, near the price. Whenever I ordered a product that was actually sold by amazon there were no problems (and no shipment costs when spending more than EUR 29), apart from the fact that delivery to the Netherlands typically takes a week, which is a bit annoying. But you often get products at considerably lower prices than here in the Netherlands, which can make it worthwhile.
When the product is sold by a third party retailer, but is delivered by amazon, the delivery is also no problem. The product will arrive safe and sound within a week. However, amazon does not seem to check if the product description provided by the third party actually matches the product. In can happen that the retailer is sloppy or sketchy and you don't end up with what you ordered.
When the product is sold and shipped by a third party, all bets are off.
What's great about amazon is that you can get so many different products from the same shop, usually at good prices. Ordering a new hard disk and notice you need some new pairs of socks? Just throw them in the basket. Want a new mechanical pencil for 3.99 as well? Throw it in. As you order everything together, you easily get over EUR 29 and don't have to pay for shipment.
As I said, when you know what to do and what not to do, amazon can be pretty good. But having to wade through more and more offers by third party retailers makes the experience a bit more annoying every time.