At my current employer we generally adopt the old-school approach of writing a traditional functional requirements specification and then performing a full tech design. If the app is big then we break it into smaller chunks and attack it a chunk at a time but following the same basic pattern.
This technique has served me well over the years. With use-case modelling it seems that you need to gather pretty much the same information, it is just organised differently.
So my question is this: what the tangible benefits of following a use-case driven approach to software development?