How does iOS detect the version of an installed app? How does iOS detect the version of an installed app, to figure out whether or not an update (release with higher version) of the app is available?

Is the app's info.plist taken into account or does the App Store app do some bookkeeping?
It’s the Info.plist, heavily cached. Changing this on a jailbroken device is a common way to prevent App Store updates for an app.