Docker's main benefit is consistency. An image carries the app together with its dependencies, so code that works on a developer's machine behaves the same in testing and production.
Other benefits:
Applications run anywhere Docker is installed, which makes them portable.
Scaling out means starting more containers from the same image.
Containers share the host kernel and run no guest OS, so they need fewer resources than a traditional virtual machine.
Setting up a development environment is instant, so development cycles are faster.
Each service runs in its own container, which suits breaking a monolith into microservices.
CI/CD pipelines build, test and deploy the same image at every stage.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.