The difference between latch and flip-flop is that latches are level sensitive while flip-flops are edge sensitive. Both latch and flip-flop will be used in sequential logic and requires a clock signal. Latch output will track the input when the signal is high, i.e. when the clock is high 1, the output can change if input changes. Whereas in a flip-flop, input will be stored only when there is a rising/falling edge of the clock, and it is immune to glitches where Latch is sensitive to glitches. Latches need fewer logic gates than flip-flop to implement, so latches are faster than a flip-flop.