With managed WordPress hosting, core updates and plugin updates are I assume managed by the hosting company.
What happens if a future update is not compatible with the current theme? Is the customer charged for theme updates, or do they tend to be included for free, ie any update necessary to keep the site live?
Generally speaking, the host is not going to update your theme for you.
1. If it's a paid theme then they don't have the theme to begin with.
2. If it's a free theme then it might not take any work at all as the theme creator will update it.
3. If it's a custom theme then it's hard to say. Then it depends on the terms of your contract with the provider.
Theme modifications are usually not included with most hosts.
There are exceptions I'm sure but unless your paying someone a lot of $$$ per month to manage your site they won't be fixing a the theme for you.
You can get managed WP hosting that will update plugins and themes for you, some will update only critical security releases, etc. and some will update every release.
If you are going to opt for this kind of service, ask them how they perform these updates. What they should do is take a backup immediately before, run updates, check site (automatically or manually, and roll-back if there is a problem.
WordPress is set by default to automatically update small changes so you won't even know about them. But that does not apply to major updates.
However, not everybody prefers automatic updates at all times. There is always a risk that an update may not be compatible with some plugin or theme on your site. It's also possible that you don't want to enable a feature that the update adds, or you just want more control over what's in your installation.
In this case, you can enable/disable automatic updates, or configure it to only apply to minor releases/major updates by making changes to the wp-config.php file.
To enable automatic updates, add the following line:
To disable all automatic updates (including minor ones),
define( 'AUTOMATIC_UPDATER_DISABLED', true );
If for some reason you don't want to mess around with the wp-config.php file, you can manage updates by adding filters to your theme or plugin's functions.php.
To disable automatic updates completely,
To disable automatic minor updates,
To enable automatic core updates
You can also enable automatic updates for major core, theme, and plug-in updates using the Easy Update Manager plugin.
That is risky, especially if you don't know how to troubleshoot. However, judging by the number of active installations (250000+) of the plugin, many WordPress users prefer to use the automatic update method.