Docker was primarily designed for datacenters with large, homogenous, well-networked servers. As such it makes tradeoffs that in some cases come in conflict with the need of small, heterogenous, remotely distributed, and differentiated devices, as found in IoT and embedded Linux use cases.
With its small footprint and purpose-built features, balenaEngine was made specifically for IoT devices, or any scenario where footprint, bandwidth, power, storage, etc. are a concern.