Perhaps the best way to learn isn’t to simply read, or practice, something again and again. It’s to teach. If you can teach someone how to do it, it means you’ve learned it.
Teaching is actually a two-way street, the student gets to learn something new and the teacher gets to try something new. When you teach someone, you have to articulate it in a way that’s easy to understand. You have to demonstrate it in a way that’s easy to imitate. You have to show it in a way that causes the student to develop their own eureka moment.
Teaching lets you explore the material in a completely different light. You play with the ideas, stretch it, bend it, try to break it, and chew on it until you get something that’s easy to understand, or until you understand it yourself. Then, you teach it.
It causes you to work a lot harder at the material and you will learn a lot more than if you were to simply read, regurgitate, repeat. And let’s be honest, that’s how most of us learn. Read, regurgitate, repeat. The more you play with the material, the more you understand the ideas and concepts behind it, and the stronger the impression it leaves in your mind.
It takes time, it’s hard work, but that’s how to properly learn something, by being able to teach it to someone else in simple terms. As Richard Feynman once said:
Feynman was a truly great teacher. He prided himself on being able to devise ways to explain even the most profound ideas to beginning students. Once, I said to him, “Dick, explain to me, so that I can understand it, why spin one-half particles obey Fermi-Dirac statistics.” Sizing up his audience perfectly, Feynman said, “I’ll prepare a freshman lecture on it.” But he came back a few days later to say, “I couldn’t do it. I couldn’t reduce it to the freshman level. That means we don’t really understand it.”
I was going to use the “If you can’t explain something to a first year student, then you haven’t really understood it.” quote but turns out, it’s unsourced and likely a derivative of the above exchange.