Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, not open-world), so the bar is lower, yet the description adds real behavioral context: delivery_eta is null until the merchant ships and merchant_contact is only present while the order is open (not once CLOSED). These conditional-availability rules are useful and not derivable from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.