When you want for example enforce the use of the parameter Password if the parameter User is provided. (and vise versa)
Function Do-Something
{
Param
(
[Parameter(Mandatory=$true)]
[String]$SomeThingToDo,
[Parameter(ParameterSetName="Credentials", man...