One thing that bother me most in PowerShell is that return keyword does not do the same thing a return keyword in a standard programming language :)
If you use Invoke-WebRequest cmdlet in PowerShell to download big binary files, it is sometimes much slower that downloading from a browser.