XML Namespaces help you avoid name conflicts in XML Elements.
e.g. If your XML describes 2 different entities like Fruit & Animal, both will have a Name attribute.
When you render your XML, it would be great if your Fruit related elements are under a particular namespace. (defined by xmlns:value)
Once you do this, you cannot just identify a Name element using the Name alone. You need the enclosing namespace. This is what the LINQ Query does**. It helps you uniquely identify the element by using its full and correct name.