To answer your original question, DTD's have been around a lot longer than schemas. There are lots of applications out there using existing DTD's, and organizations are usually reluctant to re-write working stuff, unless there is an absolute need. However, Schemas do have a lot of advantages over DTD's, like true support for namespaces, support for datatypes (not just PCDATA/strings), and regular expression-like syntax for constraining your documents, among other things.
Even though DTD's do not have an XML-like syntax, they are pretty easy to use. Schemas on the other hand are extremely powerful, but have a lot more complexity. Ever tried reading the Schemas specification, Schemas Part 1
and Schemas Part 2
Schemas is not just to way to constrain/validate your documents, but is a language in itself, and is an indispensable part of the WebServices/SOAP initiative. IMHO, it is the way to go, and will eventually replace DTD's but it might take a while.
[ October 29, 2002: Message edited by: Junaid Bhatra ]