I agree with you but I also have a different thought. As you keep learning through your side projects, you progress in knowledge. If you realize this too soon, you may never get that far within dozen years of working. Most of the time people spent at work for running deadline, and you would only learn most in your extra time.
So far, you should keep learning and building in parallel, so that you can still have something to release while keeping up with the world.
As I said, it depends on your goals. If you want to learn new tech, a side project is a perfect place for that. It doesn't necessarily mean that you will never ship it, but your chances will be much better if you stick to the stack you already know or at least limit unknowns. When you work on a product, you'll have plenty of learning beside programming: marketing, copy, sales, and support. Of course, it's just a matter of balance, picking a new existing tech might greatly help your motivation on the other hand too much learning could make you miserable when you realize that you work on a feature for a week that could finish in hours if you'd pick familiar framework/language/etc.
Anyways, it depends on context, the free time you have, your project, etc. Do what works best for you!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.