curl in Windows Powershell is by default mapped to Invoke-Webrequest but it is not in powershell which you download or install via the store. I long ago removed the alias for curl in Windows Powershell too.
Having used both. It is close in that the api looks similar. But has a lot of interesting edge cases. Usually around error codes. One thing you learn quickly is win32 != bsd != linux. Each one has their own set of quirks and issues.