Why does Windows have a place to store intermediate SSL certificates?

I believe your understanding is correct. I think Windows stores intermediates because:

1) Having local copies of intermediate certs allows it to "cope" with connection scenarios where the remote server is not chained properly. I've seen scenarios where a web server isn't configured properly but IE doesn't complain.

2) The certificates are used for other Windows-based tools. For example, when analyzing a certificate with the Crypto Shell Extensions program, there's a "Certification Path" tab which tries to show the full chain (not ALWAYS accurate IMHO).

3) It allows the workstation to perform server-based SSL roles if needed (for example if you were to install some local software that had a web interface).

4) It potentially allows Windows, IE, or anything else leveraging the cert store to have a trusted reference point for cert pinning. I'm not sure to what extent Windows actually does this though.