PowerShell supplies a common set of parameters to every cmdlet, plus extras added in specific situations. You cannot define your own parameters with these reserved names.
ConfirmDebugErrorActionErrorVariableOutBufferOutVariableWarningActionWarningVariableWhatIfUseTransactionVerboseThese are the common parameter names. PowerShell owns them. Reusing one collides with the behavior the runtime already binds to that name.