I can only touch on it here, as it is complex, and it appears MS does not want you, the ordinary user, messing about - or they would have made it easier. What follows is only an extract from the enormous amount of information on the links already provided by others. Firstly, to see all the available apps, you must run Powershell as an administrator:
Get-AppxPackage -allusers * | Select Name, PackageFullName
will show a long list. I have removed everything I can (in the past, new rubbish may have appeared since), but there are still 121 (yes, one hundred and twenty one) apps listed. Many of these are services and other things one should not interfere with. To remove apps (packages) that are amenable, there are two steps:
First one must uninstall (for the current user) with something like
Get-AppxPackage *zunemusic* | Remove-AppxPackage
but that only uninstalls (despite the name of the command), it does not remove from disk. Once the app is not installed for any user (and that can be tricky), one can 'de-provision' it. To find out which apps are provisioned (ready to be installed for new users), use
Get-AppxProvisionedPackage -online | select packagename
Mine shows only two:
PackageName
-----------
Microsoft.MicrosoftEdge.Stable_93.0.961.44_neutral__8wekyb3d8bbwe
Microsoft.ScreenSketch_2020.814.2355.0_neutral_~_8wekyb3d8bbwe
These can be de-provisioned with something like :
Remove-AppxProvisionedPackage -online -packagename <string>
but note that the command does not take wildcards as easily as the Get-AppxPackage command (the <string> must be the full package name). This operation prevents the app re-installing for new users. If it is not installed for anyone, it will (may) eventually disappear of its own accord from the WindowsApps folder. There will (I think) always be something left in that folder.
There are a number of (often Powershell-based) tools out there to help you, I have tried some but can't recommend any, as I have not tested them that much, I have done it the hard way. What is annoying is how multiple versions seem to hang about in the folder, no matter how many times one runs the built-in cleaup process, or uses DISM commands. My WindowsApps folder is only ~400MB, and I can't be bothered to trim that.