I have backup VMs for two of the sites that I look after. In the age of cheap DO droplets I think it makes sense to always use a separate VM for each of the stages for each site (dev, stage, production, backup). Particularly if you’re getting paid to look after the site (I always get the client to pay for the production VM directly, I pay for the rest).
Given the power of Capistrano, Composer and now Ansible, it’s almost completely effortless to set up working versions of the sites on the backup VMs so why not? It’s a great way to make sure the backups are good too. This strategy frees up the staging VM for presenting new stuff to the client when required while still retaining a nightly synced backup of the production site. Works for me.