Why use Cortex-M7 dual-redundant core?

Cortex-M7 has an parameter named "LOCKSTEP" which specifies whether the implementation is a dual-redundant core and uses lock-step.

My question is: why do I need to implement the dual-redundant core? What is its advantage and what is its cost?

More questions in this forum