Amazon has many other services (including Prime) that require an account, so it makes more sense for them to require accounts than it does for any other online retailer.
Me too - on other sites as well.
Most sites aren't Amazon though, they only get the customer for this one particular purchase, because they happen to be the cheapest, or the one with the item in stock.
If anything has chanced it's that your checkout flow needs to be even simpler, so it fits better on phones.
I asked Zappos about it, and eventually got to someone who could talk to me about why--the answer was that they get so many returns that the overall customer experience is better if they know all your details up front. (I'm not sure why that's true but that's what they said).
They didn't give details (and I'm sure they wouldn't), but when I think about how I use Amazon now, I return a lot of stuff.
In particular, the strategy I've seen work was to put registration early (but not too early) in order to get a contact email address and to follow up with people that drop out of the sales flow. Often people just need a reminder.
YMMV.
A half hour later I got an email from the same site offering me 15% off of that product.
I had never visited or heard of the site before. Talk about shady...
Apparently Criteo can accurately identify over half of the visitors to a site.