I hear you about DCI, and that's why it took me months to really get what it was about. It sounds like a mechanistic thing, but doesn't give you any new abilities that you didn't already have before. But then I realized that it's really just about cleaning up badly factored program-flow in OOP code.
It's very common in OOP to take a use case / scenario / flow and have each data entity own a slice of it. But the data boundaries are very misaligned with the overall execution boundaries, so "what the program does" becomes very convoluted. DCI is about still slicing up an execution into pieces, but keeping the relevant pieces together. Specifically, instead each class having methods from multiple use cases, those methods are associated to "roles", with are placeholders for whatever objects will participate in that execution flow / use case.
But there is no need to have a flow be sliced up into methods that each most be "owned" by some object. But if that's what it means to do "OOP", then DCI is a way to put related functionality together in a way that's "still OOP". Well, I see no value in OOP if that's what OOP means; but the organization of flow AND the organization of data being two separate things that are meaningfully laid out in their own rite (rather than having one be in terms of the other) ... THAT makes a lot of sense, and doesn't need any mechanism like DCI to do it. And you'll find that such code very much matches the human mental model of what the software is and what it does.
But DCI is what introduced me to thinking that way, because much OOP is very primarily "thing" oriented, or otherwise relies on complex mechanisms to "wire it up" another way. So for me, DCI (if you throw out the mechanism but look at what it's trying to do) is about just making code sane to begin with.
I've had a lot of success applying those principles in my career, especially among horrible OOP code.
It's my opinion that many "OO programmers" don't know (or have forgotten) how to think on simple terms.
I'll post some more links, later