"Why wouldn't someone want to create an account? Ship it!"
Then as soon as you are in a rush, shopping for some tents online for a camping trip (something you rarely do) and REI is forcing you to create an account just to order the clearance tents you found, you want to yell at somebody.
I think this story is valuable if for no other reason to make sites realize how much of a road block registration is.
Does anybody publish some decent design guidelines for online shopping sites? So many sites try to follow Amazon without realizing Amazon can get away with terrible design choices because they are so massive.
If you're going to require a zip code to ship, because you only ship to the US, wouldn't it be nice if you said so up-front, so I could avoid wasting half an hour comparing your totally effing useless-to-me products to retailers that actually want to sell to me?
"To calculate shipping, please enter all your personal info, credit card and hours a day no one is at your house."
As for Amazon, you are right; I think they make up for it with good prices and an excellent shopping experience. In a way, I think they can get away with it because they are so good at what they do.
I wish to go AWS Payments would allow payments without an account though so it could be used in lieu of PayPal... but that is an aside.
Simple directions, simple prompts, and mechanize the rest.
(Zip Code? -- Fill in the City automatically.) as mentioned by jobu below
I hope that people take note of this advice and at least make registration optional.
(I realize that Amazon requires registration to purchase as well, but I already have an Amazon account of course -- but the publisher is not Amazon and if they had allowed anonymous purchase I would have gladly given them my money instead, in which case they probably would have made more profit on the sale).
 The only exception being a user-defined password.
[EDIT] I think I've solved this in a win-win manner on my project.
* No register or login.
* Detail page with link at top: "Been here before? Login to pre-fill the fields if you want to."
* An *optional* password field with a note: "If you want an account, enter a password."
* If the user doesn't enter a password and wants to login later, a link in the password create/reset email sets them up.
I don't have data, but I'd veture to guess that most non-account data is stored nearly as long - if not as long - as account data. (I'm thinking primarily of ecommerce applications here. Services like pastebin are quite different.)
I just don't want the hassle.
If the user creates a "new" account with the same email, it'll silently use the same account and not show them their history until they validate.
you're already collecting all the information necessary to create an account when somebody completes a purcase, so just make an account for them. include a temporary account password on the email receipt, with a message telling users they can use that pw to log in to the site to check the status of the order. once a week, run a cron to clean up all the accounts of people whose orders have completed and haven't changed the password.
The website they helped fix was still in its beginning years. Their client was ebay. I wouldn't be suprised if this was the website he's talking about.