I actually heard a good reason for that here the other day. The customized OS portion of Android is on a different, read-only partition, and it's not writable except during reboot on upgrade (or something like that, I'm butchering it from memory I'm sure).
Upgrades can be applied from the application/user data partition, but they stay on the user data side and that's why the best you can do is to uninstall upgrades and disable. Apparently most the providers have gotten better about only including an application stub now that doesn't include the app binaey/data, so usually uninstalling upgrades leaves you with a ~12kb application stub/placeholder.