What's the difference between "docker stop" and "docker rm"?

I initially thought that docker stop is equivalent to vagrant halt, and docker rm is to vagrant destroy. But fundamentally, docker containers are stateless, except for VOLUME statement, which AFAIK