I think volumes are useful when you don't want to deal with those files on the host. Mainly for development environments.
I wasn't able to understand volumes at first, and my team mate told me I had to use binders to run mysql. My project folder used to have a docker/mysql/data. Now I just point MySQL data to a volume so I don't loose data between restarts. And I don't have to deal with a mysql folder on my project with files I would never touch directly.
In my opinion, volumes are useful for development / testing environments.
Moshidon on Android