Rather than write this stuff myself, I've included a couple of good articles that get through the concepts quickly and easily.

Why should you care about XML Namespaces?

XML is everywhere, even if you don't work directly with it. As IMC moves more to web services, our systems are sending more and more XML over the wire. We're also starting to use it in the databases as a flexible data storage mechanism. In all of these cases, we must carefully design the namespaces so that we don't get collisions between two systems or two versions of the same system.

A couple definitions and things to keep in mind:

1. The term namespace is a bit overloaded. XML uses namespaces and so does .NET. They are both used to organize the code or markup, but they have some differences. XML's namespaces are usually in the form of a URL, whereas .NET typically uses a "dotted" notation. Additionally, .NET infers a hierarchical structure where each dot is a parent of the following. If this doesn't make sense at the moment, then just come back to this concept after you've read about XML namespaces.

Reading:

What is an XML namespace

http://www.w3schools.com/XML/xml_namespaces.asp

http://www.xml.com/pub/a/1999/01/namespaces.html

The Official spec on XML Namespaces from W3C

http://www.w3.org/TR/2006/REC-xml-names-20060816/

A Quiz on XML basics

http://www.w3schools.com/XML/xml_quiz.asp

What is XSD

http://www.w3schools.com/schema/default.asp

XSD and Namespaces

http://www.w3schools.com/schema/schema_schema.asp

Further info:

If you're hungry for more, I have a couple of really good "handbooks" from Wrox press on XML design. These talk about namespaces in depth. They also talk about the usage of namespaces inside of an XSD definition and the consequences of making an element "Qualified" or not.