Although most designs can meet timing requirements with the default Vivado synthesis settings, larger and more complex designs usually require a mix of synthesis strategies for different hierarchies to close timing.
For example, one module might benefit from the use of FF resources instead of SRLs to implement pipelining in the device, but the rest of the design might benefit from implementation of logic in SRLs rather than FFs to reduce spreading. In this case, set the ALTERNATE_ROUTABILITY strategy for the module that requires the use of FF resources, and synthesize the rest of the design using the Default strategy.