I understand the difference between ReplicaSet and ReplicationController, of former being Set based and the latter Equality based. What I want to know is why was a newer implementation (Read ReplicaSet) introduced when the older ReplicationController achieves the same functionality.
ReplicaSet is usually not standalone, these are owned by Deployment. A single Deployment can have many ReplicaSets in its life cycle as new Version deployment added one more ReplicaSet.
Deployment allows us to rollback to previous stable releases if required.
Replicasets is updated version of Replication controller
In Replication controller there equality-based selectors
In Replicasets there is set-based selectors
Replicasets also work with deployment so when you do simple deployment in kubernetes replicasets automatically generated and managed.so deployment owned replicasets.