As this is a controversial topic, I will try to give a neutral stand here.
CoreOS team started the Rkt project because of the following reasons:
- Container interoperability issue needed to be addressed since Docker runtime was not fully following the Container manifest specification
- Getting Docker to run under systemd had some issues because of Docker running as the daemon
- Container image discovery and image signing required improvements
- Security model for Containers needed to be improved