Working with one site that is highly available. There are 3 web farms (dev, staging and live). Each farm has 2 2012 Windows servers in it. There is also a highly available 2012 SQL Server instance running on a separate server. The web servers are using Windows DFS to sync files back and forth. The Kentico instance also uses the web farm module to sync the data and such back and forth. There is an f5 Load Balancer sitting in front of the web farm with an ASA. There are really no standards on how to set up your HA/DR Kentico solution simply because the base configuration can be so different depending on what the business needs.
Regarding syncing changes between staging and production that is a function of Kentico. In a matter of nearly minutes you can have this functionality setup. You can track changes to content, objects and other custom data in a "staging" instance and sync it across to a "production" instance. If you follow Kentico best practices, there should be no reason you cannot export and import any physical code changes (with some exceptions) from staging to production.