Checkout process and steps have to be smooth fast and logical. Customers should only be asked for information once. Asking customers to re-input information already completed just frustrates. You are aiming to please your customer not frustrate them.
Most ecommerce products have a smooth and well formed checkout process. Think hard about this next question. Is it really necessary for the customer to create an account ? For you the store owner it makes no difference if the customer has an account or not. For the customer if they are a repeat shopper then they will opt for account creation. For the customer with an account they can see previous purchases and for repeats it is easy for them to do this. You may store payment details and make it even easier for them to charge the same card again without having to enter in the card details. We have seen a trend where some fashion sites are not creating accounts for customers. This is because alot of customers use autofill and this takes away the pain of filling in your shipping details all the time.
Some product lines do require an account to be created, if you are selling medicines online then you will want to be able to monitor the amount a customer is puchasing and not allow them to over supply themselves with a prescribed drug.
For selling medicines online there are strict rules and it depends on the country you are selling into and shipping from. You should seek the advice of a legal professsional before selling medicines online.
Creating an account should not add more steps to the check out, ideally it should simply be a check box. The password should be generated and sent to the customer in email, they can change it later if they wish.
Displaying only the fields that need to be filled now on the checkout makes for an easy experience. Keep the mandatory fields to a minimum.
One page checkouts are a must, multi-page checkouts are slower to fill and the longer it takes for the customer to get through the checkout the higher the chance of them abandoning their basket and not completing the sale.
Apple would be the ultimate in this as the checkout is only 2 fields a username and a password. One click shopping is only possible for customers who have created an account and stored payment details with you.
The last thing a customer wants is another password and account name to remember. Remember your customer is online because it is an easy hassle free way to shop. They will not be happy with being asked to create accounts and think up secure passwords when there is no need.
If you insist on an account being created, a good practice is to create it automatically for the customer and generate the password automatically. Some sites are compromised through their customers weak passwords. All those testtest and admin1234 and other such easy to guess passwords are threats to your site. Robots will try to gain access using lists of millions of passwords scraped from security breaches at larger sites.
Ask shoppers opinions on your checkout, you may not like what they tell you, but it is really important that the process is suitable for your market and offers options to customers where they feel they are in control of the purchase.