But that indeed is true of reality. The difference is in the likelihood of being able to find that root cause.
I think any programmer can appreciate the difficulty of finding answers in a domain that proves elusive.
Take the example of a spaghetti codebase. You know the answer is there somewhere, but you wouldn't fault someone for not being able to give you an answer.
So I wouldn't be so certain. In fact I feel many would understand the difficulties and not disparage a doctor for being unable to give an exact diagnosis.