[Deployments]
It is a higher-level object that manages ReplicaSets and provides additional features.
Managing the deployment and scaling of a set of pod replicas.
Implementing version control of the application, allowing us to manage multiple versions of the same application. It allowing for the ability to rollback to a previous specific version.
● Rollout(Imperative)/RollingUpdate(Declarative)
It is the process of updating a running application with a new version.
It usually phased to address issues before updating the entire application.
Kubernetes promises zero down time and one of the reasons behind it is Rolling Deployments.
With a Rolling Deployments, Kubernetes makes sure that the traffic to the pods are not interrupted when updated pods are being deployed.
● Rollback
It is the process of reverting back to a previous version.
It is important because they allow developers to quickly undo changes that cause issues. 
Rollback Deployment means, going back to the previous instance of the deployment if there is some issue with the current deployment.

[ReplicaSet]
It is a lower-level object that ensures that a specified number of pod replicas are running at any given time.
Maintaining a specified number of identical pod replicas.
Creating more pods to compensate for the loss of a pod.
