How does Over-the-air updates (OTA) work I read the Wikipedia article but it's not totally clear on how Android updates are pushed to devices. This is what I understood but am not certain which is correct so please add details to approve or disapprove my statements.

Case A
Phone has some service that periodically checks manufacturers servers (with some sort of polling) then if there is a new update it informs the user with a notification.
User than clicks the notification and downloads and installs update from manufacturers server

Case B
OS updates are just like ordinary software updates, there is a Google Cloud Messaging or similar broadcast receiver active on the phone and manufacturers just send message using this which shows user a notification.
User than clicks the notification and downloads and installs update from manufacturers server

Case C
Phone is notified about the updates by the mobile network (over-the-air provisioning (OTAP) like MMS and WAP settings) and than it shows a notification of the update.
User than clicks the notification and downloads and installs update from his/hers mobile network provider 

These all seem probable but consider these cases:
What would happen if phone is not registered on network for a long time and internet is disabled (think of a tablet without internet access for example)?
Why are phones with same version (international version) of firmware getting new updates at different times on different networks?

NOTE: I recently found out that CyanogenMod has OverTheAir updates in newer versions, how are they doing this, I doubt they have mobile network providers support?
CyanogenMod ROM has a built-in Updater application which can periodically (or manually) check their servers for a new release of the ROM.  Your current ROM version and date stamp are sent (in a completely anonymous way, no identifiable information is sent for privacy reasons) to their servers, and any new versions are returned.  The user is then presented with a notification, and can choose to download the update (entire ROM actually) and automatically or manually flash it via Recovery.