I think the primary reason for it is JS developers that feel out of their comfort zone with CSS, so they're trying to bring it to JS. I think it excludes people who don't know JS, it increases the barrier to entry for working on a project, and over time it ends up being more of a problem than a solution because you often need the very concepts you are trying to avoid that way (e.g. cascading and inheritance).
Hopefully CSS variables & scoping will help with this. CSS variables are perfect for making CSS depend on JS without moving all of your style into JS. You just set the variable in JS and do everything else in CSS. It could even be separate people writing the two. Scoping will help with encapsulation.
Encapsulation and dynamic variability are the two primary arguments I hear for CSS in JS, so hopefully we're on our way to getting rid of this terrible practice.