I think the purpose of FV is to check the netlist aginst yout RTL code. It used to be that designs were simple and dynamic verification was used to catch post synthesis bugs. These days netlists are too complex and running all your verification suites on the netlist is too slow and just not practical anymore. So, one way to make sure the netlist is just as good as the RTL is to verify the RTL using all your verification tests and use FV to make sure netlist is identical to the RTL. So, I think the purpose is to gaurd against mistakes introduced by the designers such as accidentally deleting a few lines of the netlist while fixing timing violations by hand.
Don't get me wrong, I'm not saying synopsys is perfect but don't think they miss the very simple stuff.