Why someone needs soft constraint?

Thank you soo much!
But all these functionality we can reach by using hard constraints, by using constrain_mode on/off.
So we can turn off the hard constraint and redefine new constrain. Isnt this mode safe?