Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare idempotentHint/destructiveHint; the description adds far more: reversibility, that it is not a permanent delete, that archived surveys vanish from list_surveys and free a concurrent-survey slot, that get_survey still serves them with archived:true, and that the archived state is re-read server-side before success. Consistent with, and far richer than, the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.