For stuff like this "weak" aliases which point you to the right command if it can't find an executable for it would have been a way better design. "No command with that name, you are likely looking for Invoke-WebRequest". Only slightly more work in interactive use, and safe in other cases.
Yes, it does confuse me that plain `ls` in PowerShell is more like `ls -l` on Unix, and this confusion sometimes causes me to type `ll` (my normal Unix alias for `ls -l`). But still, I prefer `ls` over `dir` in PowerShell.
So I guess I'm saying that I'm fine with some of the aliases. (But `curl` and `wget` should be removed, yes.)
That is the only explanation I can see for why the would pick those commands.
However, having those aliases (not even limited to curl/wget or all the Unix-like aliases like ls, cp, rm, ...) is a risk since they shadow native programs that might exist. It's not as bad with dir, copy, del, since those are cmd-built-ins and thus cannot be called from anything that isn't cmd, but where already shadows where.exe.
So in general, since command resolution order places aliases before native programs, any default alias can break stuff on any machine. Which places this in pretty iffy territory. They cannot remove aliases without breaking existing scripts. This is still Microsoft we're talking about here. They don't just go around breaking stuff left and right. And they actually could never have safely introduced default aliases without a chance of breaking things.
I went in a different direction to JP Software's (then) 4OS2, which took the tack of adding futher built-in commands. JP Software's (current) Take Command is interesting to consider in light of this discussion. It has its own built-in versions of bzip2, gzip, jabber, rexec, rshell, sendmail, tail, tar, zip, 7zip, and others.
* https://jpsoft.com/help/index.htm?bzip2.htm
* https://jpsoft.com/help/index.htm?gzip.htm
* https://jpsoft.com/help/index.htm?jabber.htm
* https://jpsoft.com/help/index.htm?jar.htm
* https://jpsoft.com/help/index.htm?rexec.htm
* https://jpsoft.com/help/index.htm?rshell.htm
* https://jpsoft.com/help/index.htm?tail.htm
* https://jpsoft.com/help/index.htm?tar.htm
The alis just needs to be removed. They should replace it with a manpage that suggests cmdlets for popular UNIX commands if those commands aren't found (e.g. if curl returns "not found" it tacks on, "You could try XYZ cmdlet instead").
Specifically, for non PS users reading, Invoke-WebRequest returns n object with the page content parsed and a live DOM to work with, as well as the request headers and the raw data. It's very convenient.
Including curl.exe would not do that.
Powershell does come with Windows. If you don't know Powershell, having wget aliased to Invoke-WebRequest is hugely convenient, because it's the quickest way of getting stuff done; assuming your Linux knowledge is somewhat, sorta valid is a lot easier than reading a bunch of documentation or googling to see what the actual name of the command is (even though Powershell has pretty discoverable commands.)