Murphy, is alive and well. His law pervades our industry. Do you really want to risk the welfare of your live site on the hope that your net connection won't go out, that your ethernet cable won't get yanked, or that your favorite deity won't choose today to screw with you in some other way while you're trying to update the site? I don't either. Along the same lines you don't want a user hitting your site while you're in the middle of an update and thus getting some Frankenstinian combination of new and old code.
Upload the new version of the site to a temp directory on the production box. If you can run a test suite against this temp version without negatively affecting the live version do so. If the upload worked and your tests passed you have two options:
The only real exception being when the update is just a matter of replacing one or two files that you know for a fact won't have any ripple effects, like a CSS file and can be moved in without having to down the site, but you should still be sure to upload to a temp directory first and then move it into the live site (after backing up the old one) because imagine how bad it would be if the main CSS file for your site got truncated by a bad connection mid-upload.
K. Rhodes 2007-05-18