When developing a shopping cart for a client who wishes to sell online, there is usually one issue I don't agree on with the client, and that is if you should make registration mandatory in order to checkout and purchase something from the store. If you have done any online shopping you may notice that many of the big players in fact do make registration mandatory, and if you want to buy anything you must register. So if all the big players are doing this surely its a good business model right? Wrong. Let me tell you why.
Bill is surfing the net one Saturday and visits a online shoe store from whom he has bought shoes from before. Naturally, like many shopping carts it requires registration in order to purchase something, and because Bill has shopped here before he already has an account with them. Bill then decides on which shoes he would like to purchase next, and proceeds to the checkout. On arriving at the checkout, the site asks him to either log into his already created account (which he has) or create a new account, so he chooses to log into his previous account and enters his details, only problem being he has forgot his password. Now again like most shopping carts, there is a password reminder feature that will email his password to him, but there is one more issue, where Bill is currently he does not have access to his registered email address, and cannot get the password reminder.
As you can see Bill has just been stopped in his tracks from ordering his next pair of shoes, simply because he forgot his password. Now I am not saying that all shopping carts that employ mandatory registration work exactly like this, however the majority do, and even if your cart does have a way around this issue, in my mind it is still a bad idea.
When designing a eCommerce website or any website in fact, you need to ask your self important questions like what is the point or purpose? In any eCommerce store I am assuming the primary purpose is to make sales. So once you have this in mind you then go about building the store in order to make it as easy as possible for people to complete your goal, which in this case is make sales. Once the user has decided to trust you and make a purchase, making them sign up for an account is only giving them one more reason to leave your website and not make the sale.
Now I am not saying that account registrations are bad, all I am saying is that forcing the user to register is bad, and will hurt your conversion rate. If you feel that allowing a user to register in order to have their account details saved for a next purchase is a good idea (and in many cases it is) then by all means do that, however make it optional. You can promote the account registration in many ways including the checkout process to remind users of the facility, but don't force them.