Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly=false, idempotent=false, destructive=false); the description goes well beyond that by disclosing the two possible outcomes ('registered' vs 'waitlist'), the atomic backend capacity check, the fee recorded (amountCents) in the response, and that no wallet charge occurs on this call. This is exactly the extra behavioral context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.