Take the following scenario:
1) A database is moved from server A to server B.
2) The user loads a civicrm page on server B
3) CiviCRM attempts to check the directories specified in civicrm_domain.config_backend and confirm that they exist.
4) The directories don't exist. It attempts to create them, but fails since the home directory on server A is different from server B.
5) The user clears civicrm_domain.config_backend.
6) The user navigates to a civicrm page. CiviCRM loads directories and URLs from civicrm.settings.php, confirms that all directories are ok and loads a page. However since the menu has not been rebuilt, the user gets menu items that point to the other domain. This causes issues immediately since the user attempts to go in and set directories and URLs and ends up borking server A instead of setting up server B.
Perhaps the better solution might be for CiviCRM to create relative urls for its menu items.