I would go as far as saying that having both is an anti-pattern.
In agile development we want to keep the amount of red tape and bureaucracy to a minimum - stories can be little as a sentence on a card. All the rest can be defined in-iteration, while coding, and possibly face to face.
On the other hand, a user story is synonym with deciding ahead of time what should be implemented. This, in agile development is doubly bad:
- It's directive and not inclusive: stories describe what we are trying to achieve and use cases describe how we decided that something generally unspecified should be achieved.
- It's work ahead of time and thus a risk. Not all stories are going to be implemented. Not all stories will be implemented in the way one thinks at the time of writing them.