Most commericial web sites already deal with this issue - they have new/beta features that are initially only visible or available to a subset of users. Google Apps lets you choose if you want the new or old version... it's not impossible to let users stay with a static implementation, but it's just generally not worth the trouble.
Conversely, native apps suffer from the problem that once you deploy a package out the store, you have to support it (unupgraded) for the foreseeable future. That creates its own bucket of issues.
Conversely, native apps suffer from the problem that once you deploy a package out the store, you have to support it (unupgraded) for the foreseeable future. That creates its own bucket of issues.