`run` creates a container from an image and tries to start it. If it doesn't start you have a stopped container in `docker ps -a`. If it does start, you have a started container in `docker ps`. You could stop a started container if you wanted, and later start it again without having to use `run` all over again.
Sometimes running fails to start the container because there's a problem. You'll then have a stopped container.
Sometimes running fails to start the container because there's a problem. You'll then have a stopped container.