From a development standpoint it makes more sense to separate plugins and themes for the same reason it makes sense to separate css and html. Howver it really comes down to the end user.

Anyone who's even capable of having this conversation is on the savvy side when it comes to WordPress. We're not typical of the average WordPress user. You and I can install and remove plugins in our sleep. It still confuses many an average user.

For many people it's simply easier to have everything inside the theme. One thing to install. One point of contact when support is needed. Even bundling plugins with a theme adds a layer of complexity that's more than some people want to deal with. Plenty of people still don't realize you can search and install plugins directly through the admin side of WordPress.

I don't disagree with the idea that if it can be a plugin it should be, but you do have to consider who will be using your theme. It may not be better from a development standpoint, but I'd bet most end users would prefer everything be in the theme since it means less for them to deal with.