Each format and method of storing information has advantages and disadvantages.
Plain text files are simple but your generally looking at custom parsing code that is developed for your particular application. Using the format in other tools would mean developing a similar parsing routine in the other applications. XML provides a means to exchange data between tools without having to write the parsing routines yourself. XML is also less brittle then a plain text file (you can add data to an element without making large changes to the parsing code). However XML does make for larger files then a plain text file. There are some other alternatives such as JSON or YAML.
A plain text file or an XML file can be stored internally to your application as a database (you can convert the records). Databases allow you to perform a query to return information about your dataset. One example might be if you needed a way to return all shields that had a strength less than 50. In general relational databases are not often used in game development, except in some limited contexts. The general opinion seems to be that relational databases (such as SQL) are too slow for real time games. However some web games and multi-player games do use relational databases for persistent data.
How you organize and store your information matters when it comes to maintainability, interoperability, data processing/look up time, and persistence.