What sounds good in theory needs to be practically applied within a basic system development framework. I've had heated discussions about these exact same issues for object design. It isn't surprising that these themes keep recurring. People who build and describe software systems want to know how much they should describe before they truly understand what they are building. The answer to this question depends on how one intends to apply that descriptive information.
Many people claim to be using use cases.
It's a trendy concept. Being the pragmatic, practical type, I really want to get to the heart of this matter. I've known for a long time that you really need to be aware of what perspective you are taking during a discussion. Depending on your viewpoint you can argue either for or against it. This is fun reading.