SupportsShouldProcess adds help for cmdlets, but not functions
When you add the SupportsShouldProcess property (CmdletCommonMetadata) to a C# cmdlet, it adds the WhatIf/Confirm parameters and their standard help descriptions.
But, when you use the SupportsShouldProcess parameter of the
CmdletBinding attribute in an advanced function, it adds the WhatIf and Confirm parameters, but it doesn't add the standard help descriptions for these parameters, as designed.
Unless function authors add the help explicitly it doesn't exist, and then authors write their own help, so we end up with a multiplicity of descriptions of the same thing, which can be confusing to users. That's why we created the standard help.
And, just to make it worse, in core cmdlets that use SupportsShouldProcess, e.g. Remove-Item, there's explicit help for WhatIf/Confirm + automatic standard help, so everything is duplicated.
PS C:> get-help remove-item -parameter whatif
Shows what would happen if the cmdlet runs. The cmdlet is not run.Shows what would happen if the cmdlet runs. The cmdlet is not run.
Tested in PowerShell 5.1.14393.0.