The only use case is extendable dynamic type polymorphism on the first argument. The official reference says so:
Support the 90% case of multimethods (single dispatch on type) while providing higher-level abstraction/organization
They were added in 1.2, so code prior to that would have used multi-methods instead for this.