I share your sentiment about Microsoft's output. It has its benefits, true, but their constant stream of releases is hard to keep track of and often leads to a cluttered (and sometimes nonfunctioning) computing environment. And their products often overlap in functionality, as if different teams are attacking the same problem from different ends without talking to each other. And time spent learning their stuff early is wasted if the product turns out to be a dud.
Anyway, I say as a rule, learn what interests you, and ignore the rest. It's the best (only?) way to stay motivated and to keep learning. This effort should be all about you, not Microsoft.
If you're like me and have more interests than time to pursue them, then you need to find ways to be more efficient: reduce your "time overhead" (time spent on uninteresting things), use time you're not using now, and learn faster.
I find that the techniques for efficiency in the real world are often similar to what you'd do when writing software. Think about your "life performance" as if it were a program, and find ways to optimize it - maybe by trading off one resource for another, caching, etc.
More specifically, here's what I like to do:
1) Don't feel like you need to know everything about a topic you're interested in. Learn it in a level of detail appropriate to your level of interest.
2) In programming, look for an interesting problem and create a spike solution for it. If the spike is actually usable, all the better. For me, the best way to learn a new language or technology is to get my grubby hands on it and make something.
3) Minimize multitasking. What I do is try to always have exactly two things to be working on - when one is held up, I work on the other. It's rare that both will be held up, and trying to spread my attention across more than two things both causes the quality of my attention to suffer, and also introduces too much context switching cost.
4) Maximize time spent on interesting, constructive things; i.e., listen to podcasts so as to take advantage of time otherwise not spent learning. Don't waste time on non-constructive things like TV and games. Physical exercise is a must though - to paraphrase some old martial arts teacher, "learn to control your mind by controlling your body".
5) Keep your motivation level high by associating with other people who are interested in the same things you are. One way is to make the work you've done on your spike solution available to the public.
6) Have a handful of different things you're learning at any given time, and switch between them as soon as you start getting bored with the one you're on. But go back to it later as soon as your interest builds back up. I find this helps increase the amount of overall time I spend on learning, and also avoids my burning out on any one of them.