In an ideal world the difference would be invisible, since it would be as cheap to access a remote resource as a local one.
However, in the real world network failures do occur, and it is wise to design applications that take this into account.
XML Catalogs offer a way to manage local copies of public DTDs, schemas, or indeed any XML resource that exists outside of the referring XML instance document.
(It is worth noting as an aside that the DTD may be retrieved even if the parser is not validating, as this part of the XML spec explains.) For some applications this might not be a problem, but others might not have the luxury of a permanent net connection -- a J2ME Connected Limited Device Configuration, for instance.
Even if a net connection is available it might be slow, causing the page checker to be unacceptably slow; or the resource might not be available (if W3C's site is down), causing the page checker to break.
We can solve all these potential problems by using an catalog.
A catalog is made up of one or more catalog entry files.
However, using an absolute path is best avoided since it restricts the portability of your application.