How do you know you aren't just giving out stupid answers?
When you answer a question, or show someone how to do something, and they are able to then complete the task, would it not be safe to assume you adequately answered their inquiry? Now, 2 hours, 1 week, or 7 minutes later they ask again, after they were completely in the clear on the answer/solution/method. Now repeat that indefinitely. Some people either don't have the attention span to remember simple instructions, or simply don't care.
I can't speak specific examples from the OP's life, but I can illustrate one from my own. I play and coach for the local rugby club in my city. There are players who don't have the understanding of what decisions to make or how to execute a particular play. I then explain how to perform the action, and why you would perform an action (explaining the 'why' I find helps people buy into it, they then understand that there is a reason behind the way of doing things, not just me barking orders). From there we execute drills to reinforce the action, after several iterations of which, people tend to get it. They are able to execute the actions properly and decisively. The problem is that the same few individuals routinely forget everything they learn every 4 days, no matter how many times we go through this cycle. They are able to execute it properly once it is explained to them, but how many times should one have to explain the same action?