In my Ubiquiti Trainer experience, on many UEWA training courses, I noticed that many Unifi users use a lot of local based controller, either UniFi Cloud Key or even their laptops. This approach is definitely easier to non-experienced users, however leaving a controller on a single physical host will always become a single point of failure.
The controller is not required to be online to serve clients so many of UniFi user underrate potential problems. If your physical machine where the controller is installed will fail you may:
Loose statistic data
Loose configuration data if backup were not made
Reconfigure entire site in order to hook in into new controller
Loose hotspot feature for a time being when the controller is down
Of course, with today's virtualization technology it is not that difficult to host a controller in a cloud but in many cases, this will require additional knowledge about Linux, security, etc.
Hosting controller in the cloud provides a lot of advantages:
Improved availability (even 99,99%)
Much painless backups and version migrations
Data and statistics consistency
Yes, running a controller in some hosted environment will cost you money as well but it is not very expensive. Today we can host this service for as little as around 10$ per month. Yes over a longer period of time this will become 100s but amount of time you can potentially save is much worth, so you are actually saving a lot of money and effort