Namespaces provide a mechanism for ensuring unique names for elements and attributes. Suppose you need to create a mailing list combining the customer data from two separate client companies. The ABC company uses the name element to hold the customer's company name while the XYZ company uses the name element to hold the customer's contact name. Combining these two data sets becomes a difficult task. Fortunately, each company's XML document has defined a unique namespace that acts as a prefix for all element names. So, your application can easily understand that abccompany:name and xyzcompany:name are two different things.
Like entities, the rules and options for defining XML namespaces are a concept you need to understand before beginning your XML development.