The key reason to pick Dokku over other solutions is simplicity. By using Heroku-style buildpacks, you are able to simply
git push your application to the Dokku servers and it is deployed automatically. One drawback to it is that while you can scale your application across multiple containers with Dokku, it is all on a single host.
Rancher, on the other hand, it more of a container management and orchestration tool than a PaaS. In order to run your application on it, you would need to Dockerize it yourself. It can be used on a single host, but where it really excels is at managing a fleet of containers deployed across multiple hosts. It provides service discovery and simplifies cross-host networking as well as a web-UI for managing containers and storage volumes. You can even launch new Droplets directly from the Rancher web interface.
For simple use cases, you’ll find Dokku the much easier to use, but if you’re going all in on containerization Rancher is a powerful tool that can help manage your infrastructure. Hopefuly this points you in the right direction. Let us know if you have questions about specifics.