I guess I view this separation as an adaption of The Single Responsibility Principle. This is how I view themes & plugins, and their relationship. Your theme is used to display your site, it's navigation, content, it controls the markup browsers see.
Plugins are for adding functionality to your site, if you want a sitemap, there's a plugin for that. Not happy with your current sitemap? Install/Create a new plugin, replacing the old one. If your sitemap isn't working, where do you look? Your sitemap plugin's code.
The importance of having this separation of tasks, removes a lot of risks too in my opinion. If your site isn't working instead of risking having to change your theme, you can deactivate the troublesome plugin. Albeit finding the offending may be difficult, but at least you're not changing the total design of your site.
Hence why I believe in plugins and themes having distinct tasks. It really helped me organise the development, and maintenance of sites.