For example, I'm a developer, and my app is released with a minimum iOS of 3.0 required. If I release an update requiring iOS 5.0, what happens? Can existing customers running 3.0 attempt to update? What error message (if any) do they receive when attempting this? Will customers running 3.0 get the 'Update' notification in their app store app?
As a user, I've found that iTunes downloads the latest app regardless of what iOS the user is using on their device.
iTunes downloads the latest app and deletes (or asks to delete) older app versions from the user's iTunes library – an unwary user will click Yes to deleting the older version, and will be happy to get the latest version.
It is only when the user tries to install this latest version on their device (after removing the older app from their device) that iTunes will then raise the alarm that it is not compatible with their device.
The user is then left without the older version or the update.
It is Apple's hope that the user has backed up their iTunes library prior to downloading updates to their apps. This is a different procedure than just using iTunes to back up their devices, which only backs up the Data on the users' devices and not their apps purchased (downloaded) through iTunes.
If the user doesn't have a backup, Apple does not maintain older versions of apps. So the user has no means of retrieving older versions from the App Store.