This is not just another story about a tool to look cool. The way I like to think about docker images is like a PHP class, which can be inherited many times.
All you have to do is looking up on Docker hub to find the container/service you need for your project add it in the Docker compose file and you are done and can use it.
There is no need for custom image for other services because we can use the official ones, but if the application is a microservice architecture than it would mean that more Docker files are required and you have to include them in the Docker compose file just as you use the other services.
It is up to you to decide what you want to use for your deployments and the architecture of your application.