To boil down the discussion in Katello 4.3+ mirroring policy a little bit further:
Choose mirror_complete if you want a repo that is as close to being a 100% copy of the original as possible - especially if you want yum/dnf to enable repo_gpgcheck
, which verifies a signature of the repository metadata.
If you want exactly the same content as the original repo, but you don’t need the metadata to be 100% identical, choose mirror_content_only. This can save some disk space for a couple of reasons and it’s more tolerant of weird metadata.
If you want to collect packages over time, e.g. to retain older versions of packages in repositories where the older versions are regularly purged from the source, use additive.