@Momentrabbit I find that most developers write code that assume that everything will have been going to plan up until that point at every point, which means that once one thing has gone wrong, the likelihood of more things going wrong goes up sharply.
Most users intuit this quickly. Most software, sadly, does not.