This post is part of vSphere design considerations and trying to answer for one of the questions often asked during doing the vSphere (but not only) upgrade projects:

should I do this in-place or as a clean, fresh install?

The answer is - it depends. Everyone agrees that during e.g. an upgrade in-place of ESXi host, an existing settings are retained (or should be :)) If I perform a clean installation, I have to re-type some basic settings when a host is installed and then do some additional steps (e.g. setting advanced parameters) as well. Of course, there are some ways/tools such as kickstart installation, Host Profiles (Enterprise Plus license required) or just backup of ESXi host (state.tgz) to configure ESXi host faster, however still I may do more steps than after doing an upgrade in-place. Sometimes, an upgrade in-place can be useful when we need to keep vCenter settings because there are no tools to export inventory configuration. Most of customers don't want to loose vCenter roles, folders structure and permissions. Some years ago, it was possible to use a fling tool to address this requirements - Inventory Snapshot. However, this tool hasn't been updated many years and the latest versions of vCenter are not supported and powershell scripts are necessary.

A clean installation is often preferred - Vendors are not able to re-produce all possible environment settings and it means that risk to perform an upgrade unsuccessfully is higher. Troubleshooting may be (and often is) time consuming - e.g. some weeks ago VMware released vCenter 6.0 U1 and many of my readers faced problems with vCenter update process.

So the the most important reasons to perform a clean installation are - risk mitigation and simplicity.

There might be additional reasons as well:

Hardware refresh - installing the latest/stable version on new servers and migrating VMs.

A current version of vSphere not supporting direct upgrade, e.g. 4.1 to 6.0.

Consolidation projects, e.g. two VMware environments into a new one

Changing platform - e.g. migrating vCenter installed on Windows + SQL Express = local database to vCenter Appliance (VCSA).

Major version without updates.

Before running any upgrade process, we need to determine which upgrade approach to take and do some preparation steps. I always choose the "migration/upgrade" strategy based on customer requirements and constraints, however my preferred upgrade method is a clean installation. I have had some bad experiences with upgrade in-place and I don't like to be an upgrade tester anymore 😉