How anchors break without anyone editing a link
An anchor is a fragment: the # portion of a URL. It resolves against an id or a heading slug on the destination page, and the slug is derived from the heading text.
So editing a heading changes its slug. Fixing a typo, switching to sentence case, adding a word for clarity, all produce a new id, and every existing link to the old one now lands at the top of the page or nowhere.
The same applies to reordering: anchors survive reordering only if the slug is unchanged, which is why generated documentation that rewrites headings on every pass loses its deep links repeatedly.