Check out this article by the powershell team on $confirmpreference. Short version is the cmdlet developer decides how much impact a given action will have, and they give that action a confirm threshold. You will be asked for confirmation depending on whether the action is higher or lower than the value of $confirmpreference.
When you don't want to have to worry about this, it's best to manually specify $false as LucD mentioned.
Hal Rottenberg
Co-Host, PowerScripting Podcast (http://powerscripting.net)