I've started reading Mike Cohn's book User Stories Applied and even though I'm not very far into it, I've already found one main concept about user stories that I hadn't fully appreciated, the idea of the conversation.
Mike references Ron Jefferies idea of user stories being the "card, conversation, and confirmation" meaning the information you write down, the conversation that surrounds it, and the test cases you use to confirm the story has been delivered.
The idea here is that what is written down is supposed to be kept simple and it's the conversation with the user that's important. Unlike more traditional requirements approaches, the idea is not to capture everything in writing.
I've followed the approach of keeping away from details when I do user stories, but I didn't fully appreciate why this was important. It's easy to mis-interpret something that is written down. It's easier to have a conversation with a user and understand what they want.
This makes sense in the big picture of agile being about user interactions more than tools or documentation. User stories makes sure we're having those conversations with the users and not trying to create some massive requirements document.