DTD's are Namespace unaware
DTD's only allow a limited amount of types for attributes
DTD's do not allow to specify element content types except for PCDATA
DTD's allow you to specify default and fixed values
Tools will try to resolve references in DOCTYPEs.
A DTD grammar cannot be defined using XML
A DTD allows only one root element to be specified.
DTD's are another leftover from SGML