The need for data replication can arise in various scenarios like :
All Options are Correct
Excellent ! Your Answer is Correct. Data is replicated across different DataNodes to ensure a high degree of fault-tolerance.
Replication Factor is changed
DataNode goes down
Data Blocks get corrupted