Last night I was trying to book a hotel room from one of the UK's leading budget chains for my daughter going off to look at universities. I wanted to pay for the room in advance as she does not have a credit card. So I found the right hotel and then went through the check out process and got to the card payment stage and then thought 'but you pay on arrival not when you book with this hotel chain so can I pay in advance?' I finally found an FAQ link, (small, grey and not where I expected it, and it takes you out of the booking process - not a good idea!) which said I could pay in advance (but "only on some occasions", what does that mean?), but nowhere could I see how to do this. I, therefore, left the site and booked a room with a competitor where I could obviously pay for the room in advance.
I suggest this is a not untypical of millions of checkout experiences that result in basket abandonment. The point it reinforces is that all users are different. We all have different things we need to be sure about if we are to complete a purchase. We know from testing many different hotel sites that different things are important to different users. Some want rooms near the lift, some with young children want 3 beds in the same room, some are lactose intolerant and want to know if the restaurant can cope with this, and so on. Virtually everybody has something that is important to them about which they need reassurance but that may be irrelevant to most other users. There are very few vanilla users. But web sites, like this one, tend to assume we are all the same and, therefore, miss out when key questions are not answered.
So what to do? Well some decent data collection for a start about all the things users need information on, and then to make sure this information is readily available, not buried, at the right point in the check out process. I did not have a problem until I got to the payment stage when the concern was prompted.
Add up all these individual information needs not handled and you probably have a 100 (or more) reasons why users abandon the checkout process.