I know hosts are determined by a flag, but how something works technically is not the issue. I'm sure you must agree that a host is a different role then an administrator. A host has different rights, a different scope of possibilities, etc. How would you define a role?!?!
I don't understand your second point. A module can have a certain level of integration with the framework. It doesn't really matter if it is a seperate (core) desktopmodule like text/html, announcements, links, etc. or if they are part of the core like lists, vendors, newsletter, etc. All I am saying is that I think it would be better to make a better seperation between the two. This will have benefits I think; what if I do not want a search engine on my website, and I don't want to have a newletter, and I don't use lists, etc. If they were modules, I could simply get rid of them. this would give users more control, it would give you a smaller core. And by seperating it, would allow for easier management of source code, upgrades, etc.