Following is the difference between a daemon set, a deployment, and a replication controller :
Daemon set : A daemon set is used to ensure that all nodes you have selected are running precisely one copy of a pod.
Deployment : A deployment is a resource object in Kubernetes. It is used to provide declarative updates to applications. It also manages the scheduling and lifecycle of pods. It offers many key features for managing pods, such as pod health checks, rolling updates of pods, the ability to roll back and quickly scale pods horizontally.
Replication Controller : The replication controller is used to specify how many exact copies of a pod should be running in a cluster. It differs from a deployment in that it does not offer pod health checks, and the rolling update process is not as robust.