XSD location hints, schemaLocation and noNamespaceSchemaLocation, are rarely used in production environments (I've never seen it), indeed.
I personally see it as a convenience method for tooling used during development phases. It is considered an interoperable way to indicate what XSDs should be used for validation, IntelliSense, etc.
Say you build a bunch of XML files (samples), as means to better illustrate (document) another bunch of XSD files. From what I am used to see, people use schema location hints (relative URIs), zip the whole set (XSD, XML, etc.) and then ship the archive to consumers. This way, there are more chances to be "interoperable" regardless of what development tools people are using. For example, MS Visual Studio maintains an internal and proprietary storage which holds what schemas go with a particular XML file; that "metadata" is not portable to other tools the same way xsi schema location hints are.
I've also seen some really "advanced" uses of the schema location hints, which is why at least in our tooling we do spend lots of cycles in reading these hints and dynamically adjust the intellisense and validation messages...