Accidents are gonna always happen, you can prevent them but nothing is going to stop them happening. Users loosing passwords, usernames, invoices with wrong prices, etcetera, etcetera…
An important part of a good design is the prevention, how to avoid erros and headaches. But, as problems can not be totally avoided it is very important to design a good "recovery" experience, a way to solve those issues. The iTunes Store gives us an example of good problem solving design.
After buying an album I got the following invoice per email. The underlined text "Ein Problem melden" means in German language "Notify a problem". This is great. Users could have problems with downloads or audio quality, for example. If this happens they can contact Apple in a very handy way.
Problems make users unhappy but if you provide a way to solve those issues users will understand that you are trying hard to make things work.