I buy from amazon for their predictable shipping and insanely awesome customer service.
There's a certain premium I'm willing to pay to have it all handled by one reliable company, as long as they're not charging too much.
My main worry is time wasted from ordering something and having it not show up. You have to email them. You have to listen to how sorry they are. Then they send it again. Maybe it shows up. At some point you cut your losses and just order it from Amazon for $2.13 more. Admittedly I've gone through the order anti-loop with Amazon and got four bicycle tires for free (never getting the ones I actually ordered), but that was one case out of hundreds, and it didn't cost me much money or time. Amazon is predictable: that's why I buy from them.