The DTD fails to capture some significant constraints.
Originally designed as an exchange DTD, it has largely become an authoring DTD. Exchange and authoring aren’t opposing design centers, but they are different.
While DocBook is a shining example of parameter entity customization, parameter entity customization is fiendishly hard.