I'm using CiviCRM with Drupal. When upgrading a site to a new CiviCRM major version, it's very useful to know all the database schema changes introduced in the new version, so that any custom code referring to database fields can be amended accordingly.
A case in point is civicrm_contribution_recur.next_sched_contribution -> next_sched_contribution_date in 4.3 -> 4.4 .
"You shouldn't be accessing database fields directly, you should be using the CiviCRM API", I hear someone say. Often that is the preferred approach but even so, API v3 is very closely tied to the database structure and the fields returned by an API call reflect the database field names, so the code would still need amending.
A really useful resource for CiviCRM would be an equivalent of Drupal's Converting n.x modules to (n+1).x documentation.
hook_schema()
for the modules you're interested in before the upgrade, save the result, then do the same thing afterwards. Diff the two, voila - that's what changed