I've got my Linux shell with various tools like GIt, JDK, NPM, NVM, Maven, etc. All the config files are setup in my Linux home in the VM. But the whole point of WSL is that I can use the nice GUIs available on Windows. So now I've SourceTree for Git, IntelliJ, WebStorm, etc running on Windows. And they all need the same tools installed like maven, Git, JDK, etc.
First problem is that the I now have to duplicate all the tools in both Windows and Linux - all sorts of fun problems when they get out of sync. Same with the config files which are always screwing up due to differences in line endings and path slashes.
But the worst of all is performance. If I compile some huge multi-module Scala and Java project completely in native Windows, it takes five minutes. Doing it in WSL bash takes 15 minutes. And having my IDE in Windows doing it on the code that's on the Linux WSL filesystem takes 60 minutes, assuming it even works with all the path and line ending problems as the tools are sometimes called in Windows, sometimes called in Linux.
Exact same problems with python apps, Node apps, and everything else that is common these days.
It's absolutely no better than what I did 10 years ago when I had my company spend $200 for VMWare Workstation license and I ran Fedora or Ubuntu VMs with Linux, but still tried to use Windows for half the build. Same with Cygwin...
I think the point is that you can have a linux environment on your windows machine without running your own VM, not that you can use GUIs for your platform back end. If I just wanted GUIs I would use Mac OS. The real godsend of WSL is that we poor souls who are forced to use windows machines at work can finally have a development environment that isn't a second class citizen (assuming you aren't a windows platform developer). I'm not sure that it's fair to say that WSL doesn't solve anything for anyone just because it doesn't fit your workflow. I run node, haskell, and python in WSL and VSCode remote development extensions provides me with a full featured IDE for each of those environments, along with git integration if I should need it. Usually I just open up a terminal when I need to use git. Anyway, the next version of WSL will host a full linux kernel, so it should be easier to use X forwarding if you need linux-native GUI applications.
Also there's obviously the idea where a keyboard shouldn't be failing after months of moderate use. Somehow, this seems to be a fairly modern problem as we've been making keyboards for 40+ years now.
With keyboards, yes, but gunk getting stuck in your mouse used to be a big problem, back when mice had balls. :)
Before even that, in PC towers and notebooks with active cooling, they used to be built without dust grates in front of the ventilation fans. The fans themselves used to gunk up!
The real “modern problem” is that you basically can’t clean a MacBook keyboard, since removing any key-cap has a 90% chance of permanently damaging the butterfly key-mech underneath. (I think the main improvement with the successive revisions of the butterfly key-mech is that they don’t snap their pegs off as easily when you remove the key-cap, so you can—in theory—clean them. If you’re a trained repair tech.)
You should have backups anyway. Especially with Time Machine it's dead simple to keep good backups.