What I see as a difference between XmlReader and XmlTextReader is that: XmlReader.Create allows you to specify XmlReaderSettings, which none of the XmlTextReader constructor overloads do. Also working with XMLTextReader means Your code contains an extra layer over the root class of XMLReader.
Then why XmlTextReader came into picture? Any suggestions are welcome.