A concrete use case this happens is with Mascot search results. For example, this mzIdentML snippet is from exporting results of a search against SwissProt:
<Peptide id="peptide_28284_10">
<PeptideSequence>APLLVPGFCVAXNQPTMR</PeptideSequence>
<Modification location="0" monoisotopicMassDelta="144.102063">
<cvParam accession="UNIMOD:214" name="iTRAQ4plex" cvRef="UNIMOD" />
</Modification>
<Modification location="9" residues="C" monoisotopicMassDelta="45.987721">
<cvParam accession="UNIMOD:39" name="Methylthio" cvRef="UNIMOD" />
</Modification>
<SubstitutionModification location="12" originalResidue="X" replacementResidue="A" />
</Peptide>