Because the I/O performance sucks, there's an AV process that goes haywire whenever anything is compiled, the terminals suck, I've not found a non-bad way of SSH'ing into WSL remotely, it's about as clunky as using Wine on Linux some years ago, there's spyware and ads on the enterprise install of Windows 10, software I can't remove by using the tools to remove all other software (installers for Office and the like), but above all, when I'm running the NT kernel, it's mostly to run software that only runs on the NT kernel. I've not run NT on bare metal in a while, but looking at the struggles of people around me, I don't intend to in the near or long term.
It is its own silo on Windows. Yes, it is native from an implementation standpoint, but does not play well (yet) with the rest of the Windows environment.
Install Visual Studio Code, the usual Windows version.
Explain to VS Code that it is really a good idea to use the Linux subsystem as its command-line environment. Not only interactive sessions like Bash on its integrated terminal, but also for git, compilers, Node, etc.
Once you have got that set up and your development workflow going ok, try setting up the same on Linux or macOS.
Which one would you prefer?
The Windows Subsystem for Linux is brilliant. PowerShell is brilliant. The dotNET universe can be brilliant.
https://docs.microsoft.com/en-us/windows/wsl/install-win10