Just my opinion...
Of course...there's always a logical reason...but that reason may be incapable of being detected by humans, as so many things are. That's how things like beliefs in deities got started...humans wanted a way to explain everything that could not be understood at that time.
We don't like uncertainty, so we search for answers. But our attempts to understand many things...is just limited by what we know...today.
In computing...files become damaged and they don't operate as they should. A program may not as well-written and documented as it should be. There may be a short or power surge in the electricity which powers a system. Hardware can fail because of something that was not picked up in building/assembly or quality control.
Even though we attempt to eliminate uncertainty from all things in our lives...it's one of the most basic principles of life/energy...as we understand such today.
So I answer...yes, there is always a reason for computer problems...no, we are not necessarily understanding the causes of such, since most of our understanding of computers has to to with perceived effects and we tend to try to work backwards from those...to a cause.
Some effects are well-documented...some are not. Some are known, many are unknown because hardly anyone has the time/energy to test every possible situation that can occur...or even to imagine such.
That's why...there are situations where the time and energy that might be spent "troubleshooting"...would just be better in wiping the system and starting anew. If nothing else, malware has taught all of us that lesson, if not known/understood before.
I find that any person who cannot accept the fact that we, as humans, cannot possibly know all the answers to very much...just has no feel at all for understanding that which we call knowledge today. Tomorrow's knowledge will be more than today's...that means that what we think we know...is somewhat dwarfed by all that we don't know.
We seek answers to computing problems, to the best of our abilities. We may not understand those answers until next year, next month, next century...and by then, there will newer questions/situations that inspire more searches for answers.
A computer is a very sophisticated thing, although many persons do not seem to understand such. It depends on hardware, software, an operating system, quality control procedures that are as good as they can be today, electrical energy...and it depends on all of these things functioning as they should...in an optimum environment. When the environment desired...degrades for any reason...all bets are off and we look backward trying to understand what could have been changed and how.
We undoubtedly have more documentation, self-help, and means of education...in the world of computing...than with any other aspect of our lives that even comes close in terms of complexity, variables that must be considered, etc.
A clown like me...can understand certain aspects of computing...well, accept certain aspects would be more honest
...but I don't ever expect that the day will come when every computing situation will be understood by humans. The dynamics of computing...has too many variables for such, IMO.