Caddy's Caddyfile syntax is significantly more concise than nginx's configuration format. For hidden service operators, this means faster setup and easier maintenance. A complete Caddy configuration for a hidden service reverse proxy is typically 5 to 10 lines versus 20 to 30 for the equivalent nginx configuration. Fewer configuration lines means fewer opportunities for security-relevant misconfiguration.
Caddy has HTTP/2 enabled by default without additional directives. For nginx, HTTP/2 requires explicit protocol specification in the listen directive. This difference might seem minor but is meaningful for operators who are unfamiliar with the quirks of each server's defaults.
Caddy's automatic TLS is not useful for hidden services (TLS is handled by Tor's encryption layer), but the rest of Caddy's modern defaults are appropriate: graceful reload without request dropping, structured JSON logging, and built-in metrics endpoint for monitoring.