I've dealt with a few clients over the years who have wanted, understandably, to stick with the project at every turn. For the most part I haven't had any issues with that, but when I start hitting a bug, I often find it difficult to explain what's going on to them. I could go into detail and write out paragraph upon paragraph of everything I know as a developer and everything that's ever happened in my life that might apply here, but that's just a waste of my time and theirs. Generally I explain at a super top-level, knowing that if they don't really understand it but think they do, it'll all be resolved in a day or two and it won't have made any difference.
That works in most cases, but sometimes I find an email in my inbox from them saying something along the lines of:
So we know you've been having some trouble with this one problem so we spoke with a developer friend of ours and told him you've been facing this, and he suggested you try this.
Except the explanation I gave them was, while not untrue, a fairly dumbed-down form of what was actually a legitimate problem worthy of actual thought.
How much time should be spent explaining problems to clients, versus actually solving the problems?