This is really funny -- I actually went to purchase the book "Web Form Design" that is referenced at the top of this post. It linked to the publisher's site, and when I tried to buy it, they asked me to register with email, password, etc. So I went over to Amazon instead and bought it there!
(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).
And the funny thing is it's largely psychological. You're giving them almost[1] the same information whether you create and "account" or not.
[1] 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.
You are giving them (mostly) the same information, but the presumption when not registering is that they will only store the information as long as necessary for their internal purchase history purposes, whereas an account remains "exposed" to the web, for a seemingly indefinite period of time.
That is likely the presumption for many people. It is in general naïve I'd have to say as your information is kept for a certain amount of time for returns or disputes and longer for archival and reporting purposes.
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 hope that people take note of this advice and at least make registration optional.