1. Latch is a level sensitive device while flip-flop is an edge sensitive device.
2. Latch is sensitive to glitches on enable pin, whereas flip-flop is immune to glitches.
3. Latches take less gates (also less power) to implement than flip-flops.
4. Latches are faster than flip-flops.
=>Latch is a level sensitive memory element.
As long as the latch enable is active, the latch is transparent, meaning the input appears on the output. When the enable goes in-active, the input is stored into the latch, the latch is closed, and a change in input will not be reflected on the latch's output.
A flip-flop is a edge sensitive memory element, constructed using two latches.
In a flip-flop, the input is sampled only at the rising or falling edge of the clock, after that the input is considered as dont care.