Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false, destructiveHint=false, openWorldHint=true. The description goes well beyond: it discloses the side effect (emails a token to the booking address), the token's lifecycle (single-use, expires in 24 hours), and explicitly scopes the blast radius ('nothing is cancelled, charged or refunded'). That is exactly the extra context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.