In my experience use Cases are most useful when prepared by a Business Analyst, although I have know them to be prepared by other IT staff.
Use Cases as described in Wikipedia (www.wikipedia.com)
[ QUOTE ]
In software engineering, a use case is a technique for capturing functional requirements of systems and systems-of-systems. Each use case provides one or more scenarios that convey how the system should interact with the users called actors to achieve a specific business goal or function. Use case actors may be end users or other systems. Use cases typically avoid technical jargon, preferring instead the language of the end user or domain expert. Use cases are often co-authored by business analysts and end users.
In 1986, Ivar Jacobson, an important contributor to the Unified Modeling Language (UML) and Rational Unified Process, first codified the visual modeling technique for specifying use cases. Originally he used the terms usage scenarios and usage case, but found that neither of these terms sounded natural in English, and eventually he settled on the term use case . Since Jacobsonís originated use case modeling many others have contributed to improving this technique, including Kurt Bittner, Alistair Cockburn, and Gunnar Overgaard.
During the 1990s use cases became one of the most common practices for capturing functional requirements. This is especially the case within the object-oriented community where they originated, but their applicability is not restricted to object-oriented systems, because use cases are not object oriented in nature.
[/ QUOTE ] There is a lot of other reading here on use cases and I suggest that you look there for it.