It lets you refer to the namespace later in the schema. For example, if you declare a named type and then want to also declare an element of that type
<complexType name="someType">
<!-- ... -->
</complexType>
<element name="someElement" type="tns:someType" />
Simply saying type="someType"
wouldn’t work because that would be referring to the (non-existent) someType
in the http://www.w3.org/2001/XMLSchema
namespace (the xmlns="..."
of the schema file) rather than the one in the http://www.example.org/Product
namespace.