How are the reflection times controlled?

The documentation has numbers something like below. Wondering in which order these are affected?

  "metadataPolicy": {
    "namesRefreshMs": 3600000,
    "datasetRefreshAfterMs": 3600000,
    "datasetExpireAfterMs": 10800000,
    "datasetUpdateMode": "PREFETCH",
    "deleteUnavailableDatasets": true,
    "autoPromoteDatasets": false
  },
  "accelerationGracePeriodMs": 10800000,
  "accelerationRefreshPeriodMs": 3600000,
  "accelerationNeverExpire": false,
  "accelerationNeverRefresh": false	

For example, when refresh period is set (datasetRefreshAfterMs, accelerationRefreshPeriodMs) what is the need for expire and grace period? (datasetExpireAfterMs, accelerationGracePeriodMs)

There seems to be some underlying assumption here that the refresh will (some how) fail at that periodic interval - is that so?

What happens even if the grace period and expire also fail, in that case?