RE: How usecase diagrams are used in software creation...
Use case diagrams are very useful at the Inception Phase of software development. They are a visual way to represent use cases. These usecases are collected from the stakeholders by technical people (in most instances). This inherently means that users and the people developing the software speak completely different language. As an example to a teller in a bank a Transaction means one specific thing but to a DB Admin or developer it means something completely different. This difference between the two languages creates a gap in understanding. UML Use-Case Diagrams are simple to understand and create which allows them to breach the gap between the developer's understanding and the stakeholder's understanding of a system. It also helps to identify the actors in each use case which is also very important.
To summarize use-case diagrams are used mostly at the beginning of the SDL (software dev. life-cycle) to breach the communication gap between the people giving requirements and the people realizing them (developers).