This operation is used to synchronize available packages database with its sources. For software based on package cache like APT or Portage, an update should always be performed before a system upgrade. RPM really needs to execute this operation in (hopefully) rare situations.