What's the difference between PowerShell Desktop and PowerShell Core

As the title says: What's the difference between PowerShell Desktop and PowerShell Core?


TLDR: PowerShell Core is a multi platform fork of PowerShell Desktop v5. PowerShell Desktop v5 will only receive bug fixes and all future development will happen on Core. Howeve, some features of Desktop PowerShell, still haven't find their way in Core v7. So for these features, you still need PowerShell Desktop v5.1. Microsoft seems committed to close the feature gap between PowerShell Desktop and Core.


Long version

PowerShell AKA Windows PowerShell, PowerShell Desktop, PowerShell v1 to v5: It is, and will continue to be a very stable platform that is not going to be significantly modified or gain new features. Microsoft is to only provide bug fixes and security updates to Windows PowerShell.

PowerShell Core AKA PowerShell v6,7,…: It's multiplatform(Linux, Mac, Windows) and it's the product that will get all the new features going forward. So this should be the choice for those who want to have the latest and greatest capabilities. The first version of PowerShell Core (ver5.1 bundled with Windows Server 2016 Nano Server) was a fork of Windows PowerShell 5 that didn’t have all its features. Even in the Windows version of PowerShell Core 6 a lot of cmdlets that were found in v5 are missing. And not only that but there are also entire modules missing. On the other hand a lot of new features & cmdlets & modules first appeared in v6 and v7 and all new features are going to be developed for PowerShell Core only. In the announcement of v7 Microsoft wrote "A big focus of PowerShell 7 is making it a viable replacement for Windows PowerShell 5.1. This means it must have near parity with Windows PowerShell in terms of compatibility with modules that ship with Windows."

[This answer is based on wikipedia and http://techgenix.com/powershell-core/]