I used to do e-commerce sites where I had to migrate homemade shopping cart systems and migrate existing inventory and sales data from it into Magento. I can say I learned a lot this way! Like most systems, coding languages and frameworks, I think the best way to learn Magento is by doing Magento projects.
Make a project up, do tutorials, customize options, extend and push the limits. The nice thing about this approach is you can't break anything! If you can't motivate yourself by making a project up, say a goal of setting up a fake store with 100 products, then put some more pressure on yourself and find someone you know who wants an online store and go for it!
The best way to learn is by doing, breaking it, getting frustrated, and being forced to troubleshoot your way through to find a solution. Not only that, at least you will have a portfolio and samples that showcase your capabilities. There's so much you will discover and you never know what you learn by doing how that will come in useful later!