Yes it does have something to do with IIS.
If you are using IIS7 there is a feature called "Integrated Pipeline" which will allow an IIS site to pass processing of all incoming files type to .net be they .aspx or not. This is especially useful for securing non-aspx resources. In order to still serve static file resources out of the box the .net runtime checks for the existence of a static file first, it there is none at the requested path it will go looking for a handler.
If you are using IIS6 (or earlier) or IIS7 in non-integrated pipeline mode (classic mode) you can still intercept requests for other extensions, and you'll have to configure IIS to send requests for these file types to .net. This is called "application extension mapping".
(P.S. I really tried to get some good links for this answer, but drew a bit of a blank. Try googling "Integrated Pipeline" and "application extension mapping").