Write-Host writes directly to the console; Write-Output writes to the pipeline, which often ends up to the console but not necessarily.
For example: Write-Host "The Cake is a lie" | Out-Null won't work as expected, Write-Output "The Cake is a lie" | Out-Null will.
