On a regular basis I hear from people exhorting me to abandon Amazon.com and only buy books at my local bricks and mortar retailer.
Although quaint, the truth of the matter is that my local bookstore a) doesn't have what I want, when I want it. b) may or may not be able to order it reasonably quickly and c) has higher prices.
Amazon has succeeded where most other on-line retailers have failed because of one thing: they are very, very good at giving customers what they want. They mastered long-tail retailing before most people had heard the phrase. I can return to their web site after a year or two and they'll usually manage to actually suggest items that I would want to purchase.
Plus, and this is the big plus, they manage to make it really, really easy to find what I want and buy it.
Plus, and this matters at least as much as service, I actually trust Amazon to give me good service, not pass my credit card number on to random Russian mafia, and to take care of me if I have a problem.
(OK, the trust issues are pretty subjective, and for sure someone will jump up to say "Yeah, but this happened to my buddy one time...," but that's the point of trust: if you've got it you can move past the glitches that happen.)
(And given the seemingly endless string of credit card data breaches, it's probably good to not trust Amazon with that info either)