A reset is an additional signal input for the flip-flop, generally with a higher priority than the other inputs, that (when active) set the flip-flop output to logic value 0.
A synchronous reset is a reset signal that operates synchronously with the clock. In other words, if RESET = 1 when the D flip-flop receives a clock edge, the output will be set to logic value 0, no matter what the DATA input is.
A reset signal is very common. For example, when you have any kind of register that currently holds a number (an accumulator, a general register) and you want to make sure that the stored value is erased before using it again. A reset signal is the easiest way to achieve this. The same reset signal could also be shared among multiple registers to reset the state of a more complicated logic (a Finite State Machine for example).