Just as Microsoft has created an alternative development path for the .NET Framework with.NET Core, so too it has created a branch of the PowerShell source code. Windows PowerShell is built on the full .NET Framework and runs only on Windows. PowerShell Core, currently in pre-release, runs on .NET Core and therefore on a variety of operating systems including Linux and Mac. Certain editions of Windows, such as Nano Server and Window 10 IoT Core (which runs on Raspberry Pi), only support .NET Core, and in these cases PowerShell Core is also used.
The purpose of PowerShell on Linux is not to attempt to replace the Bash shell or to improve on existing Linux management utilities. Rather, it is to enable easier management of Windows from Linux and vice versa, including automation with PowerShell DSC. It also means you can write PowerShell scripts that call native Linux utilities, extending the value of PowerShell skills. It will also be possible to write PowerShell cmdlets in Python. PowerShell on Linux is at an early stage though, and is not yet production-ready.