The better question is: "How do you decide what to learn?" -for which I strongly suggest taking a strategic portfolio approach: have a few skills that you know in depth, and maintain a consistent flow of learning new things on at least a surface / API level so that given the opportunity you can reach out for them.
Having a few of these under your bells will open your eyes to new opportunities both within your job, and in your life that you can pitch / take advantage of; at which point you can tie it into the "things people pay me for", and start the journey of mastering it in depth without any danger to your livelihood.
I find it true. As you say, company work don't teach much. Better said maybe, they don't teach much diverse skills. Most of your time is spent doing CRUD or API modifications.
When I get out of work, I try to get projects about things I don't know anything about. Like learning web dev (or at least trying), publishing an android app, or even teaching yourself marketing.
For me, the rule is usually simple : - Do something you don't know anything about. - Make it small. - Do it fast enough so that you don't get bored. - Publish it.
I like it because I usually struggle a lot, and then understand the rough concepts. Adn the next project is easier, because I am used to trying to understand how stuff works. It basically keep your brains agile.
And the best thing is that it makes you better at your job. Because you can then think out of the box, and offer new solutions to problems. More than if you'd spend 60 hours a week on your job only.
Last thing is, those small projects, you can show them off; which makes you more seducing for other companies / people. Simply because you can talk about them, without having to know too much context :).
Working in a larger company normally will have the other benefit that you become an 'expert' within your field much more easily, because your silo'ed working on that one thing most of the time, however make sure you enjoy that one area your working in!
Out side of work just try dedicated some time each day, say an hour or even just 30min, read some material or try build something a little bit more each day. Once you have a plan stick to it and look back at the end of each week to see if your actually learning anything, if not amend your plan to suit.
Picking what to learn when you have limited time is going to be fairly difficult, your probably going to want something that you already have an head start on so you can make decent progress with your limited learning time. For example if you know Cisco routers, learn Juniper routers. If you know PHP learn MySQL, Memcache etc...