One of the major challenges of learning a skill is identifying what exactly to learn. You can imagine a skill as a bunch of smaller skills you have to master. And since you only have so much energy, you must allocate your time toward specific sub-skills you think are important, or that you lack. However, what you think is important might not necessarily be what is important to master that higher-level skill. For example, let's say you want to pursue a career in programming, so you read numerous amounts of books on algorithms and data structures, then on the job, you don't know how to write an email to your boss. Surprisingly often, the core of a specific skill is not what you're going to spend most of your time developing but instead all the small sub-skill surrounding that core skill.
I have, personally, encountered this many times. When I would be learning something, I would focus on one sub-skill and completely ignore everything else. I knew I wasn't focusing on the other sub-skills, but I wanted to become the best I could with this one sub-skill. When I felt like I couldn't become any better with this specific sub-skill, I would look for guidance from others. Asking them how to improve, they would point out all the other sub-skills I have yet to focus on yet. Of course, I knew I hadn't mastered those other sub-skills yet, so every time, I would think to myself, well yeah I knew that. But I would take their advice anyway, and focus on those other sub-skills. Of course, this made me better at that higher-level target skill. This would make me feel silly because I knew I should have learned those other sub-skills, but I was tunnel-visioned.
Like a band that doesn't know how to record their audio, sometimes you must learn not just the core skill but everything surrounding it. So while learning a subject, take a step back and ask yourself what truly needs to be learned to accomplish your goal, what is holding you back from mastery.