It lets a function behave like a compiled cmdlet, thus giving it access to common parameters, such as Verbose and ErrorAction
ParameterSetName
One from: SYNOPSIS, DESCRIPTION, PARAMETER, EXAMPLE, NOTES
Using signed code in RemoteSigned and AllSigned mode will not trigger the execution policy
Manifest (psd1) and script module (psm1)
PowerShell examines $env:PSModulePath for valid folder structures containing module files and then imports all exported cmdlets, functions, variables, aliases, and so on
Source control system
To more easily revert changes and have a more granular history of changes
To develop code independently from others
Static code analysis, for example, proper indentation, style, disallowed aliases, and more