It’s also clear if you’re succeeding or failing. I’ve noticed that private school parents in the US seem to hate homework. The kids get three optional problems a week and no tests. All the time that they might’ve spent thinking on their own about problems is instead spent in class, which really limits how much new stuff can be taught. The kids think they know everything because there are no grades. The kids that actually perform at grade level have private tutors giving them homework, while the rest are just playing fortnite and unable to do fractions.
What was the point then? It's a complete waste of time in that scenario.
The way I see it, doing the thing gives you ample opportunity to figure out theory on your own - repeating a menial task prompts the brain to invent shortcuts. Meanwhile I can't imagine someone learning only theory to not fail spectacularly at practical tasks - because theory doesn't capture everything; there are lots of practical, intangible things that crop up when you start doing the work. On top of that, it's easy to feel you understand something without actually understanding it.
The best way, IMO, is what philipov's father said - you have to alternate between theory and practice. It's how you can build understanding faster while continuously validating it.