Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the bar is lower, yet the description still adds real behavior: addresses are validated against the named municipality and ambiguous ones are refused with suggestions, and supplying a category conditionally adds market size, competitors and an opportunity score. These conditional-output and failure-mode details are exactly what the agent cannot infer from the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.