* Lots of programs don't work properly (citation needed, can't remember specifics)
* You can only run command line programs, although I understand this could be different in Windows 11
My last job mandated windows laptops so I used WSL for a couple of months before I got too frustrated and just ran a virtualbox VM.
It's not a completely unrestricted choice.
That pool includes Ubuntu, Debian, SUSE, Fedora and a few others if I remember correctly, although it may have expanded since.
I'm not sure how straightforward rolling your own is.
And for one-off use, there's wsl --import: https://docs.microsoft.com/en-us/windows/wsl/use-custom-dist...
WSLg solves this, apparently
Edit: regarding the custom kernel, you can create your own if you want, nothing is blocking you from doing so https://kumekay.com/compiling-custom-kernel-for-wsl2/.
Microsoft's kernel is also available on github: https://github.com/microsoft/WSL2-Linux-Kernel.
It's nice to be able to run Linux in windows but it's like driving a Ferrari inside a Honda. You do it because its nicer than context switching when you have to drive the Honda, not because it's like driving an actual Ferrari
Such a system is simultaneously worse and more complicated as a necessary price for running both native windows applications and linux ones. In most cases you would be better off just running Windows or running actual Linux.
For example my Linux system has a ZFS root filesystem which provides a lot of interesting features including the ability to boot a prior version of my install at startup, along with 37 other useful things. Running a linux VM with that feature wouldn't magically port this functionality to the rest of the system.
My Linux system is vastly less likely to fall victim to a cryptolocker or other malware situation but running a vm under my Windows desktop wouldn't deliver this benefit.
My Linux system handles virtual desktops per monitor making it easy to swap one monitor at a time to a different workspace or all together if I please. Again neither running an app via a compatibility layer nor a fullscreen VM would provide this functionality.
WSL is Linux light without most of the interesting features and able to be withdrawn any given year by Microsoft. Worse it could be extended in ways that depend on windows features in a classic Microsoft move.
https://stackoverflow.com/questions/64401190/can-i-use-docke...
happy to run windows in a vm though, that way you can stop it when it starts doing weird windows things.