I recently ordered a couple boxes of contact lenses online (mostly because it’s a hassle to get them from the store I usually order from). It was a pretty straightforward process – find the particular product I wanted, click the “add to cart” button, open the cart, click the “checkout” button (why do we cling to this metaphor?), put in my shipping and billing information, and click click to submit my ord—hold up, not so fast. Can’t submit the order without first creating a user account.
Wait, what?
Yep, for me to place an order and give them my money, I had to create an account which I will probably never again sign into. Since this particular site still had the best price I could find, I reluctantly submitted to their demands and dutifully filled out the required fields. But I didn’t have to like it.
Brick-and-mortar stores don’t require customers to create accounts with them in order to buy things, so why do websites? Imagine this: you walk into your local <Sears/K-Mart/Macy’s/Joe’s Party Store> and wander around the aisles for a bit. You pick up a few things, wander a bit more, put a few things back, pick them back up thirty seconds later, then finally decide you’re ready to check out. You take your assorted knick-knacks to the counter, let the clerk scan them, pull out your wallet to pay, and the clerk says “Please sign in or create an account to complete this purchase.” Uh, what? This would never happen. Oh, sure, you can always join their rewards program, get a punchcard, something you swipe to get the discounts of the week, whatever. But you would never be forced to join said program just to walk into their store, make one purchase, and never come back.
So why do websites do this?
I understand the general rationale – requiring accounts let you gather information about your users, lets them complete the ordering process more quickly in the future by saving their contact and billing information, gives you an easier way of providing order status, etc. But that’s only useful if I intend to order from your site often enough to need that convenience.
Dear owners/operators of websites that rely on ecommerce: please, for the love of Cthulhu, cut it out. Don’t require us to create user accounts just to buy from you. We’re already willing to give you our money, don’t make it harder for us to do so.

Not all sites require an account. I’ve seem some that let you check out “as a guest” or choose to create an account to make thing easier next time. (Of course they want there to be a next time.)
I remember back in the mid-1990s dealing with people building early e-commerce sites, and asking “How much information can we get about people??” It’s been the sort of data sellers have always wanted, then the web came along and made it a possibility… can you blame them for wanting it?