Latches and flip-flops are fundamental building blocks for sequential logic circuits, both capable of storing a single bit of information. However, they differ in how they respond to input signals. Latches are level-triggered, meaning their output changes immediately with changes in the input as long as the enable signal is asserted. Flip-flops, on the other hand, are edge-triggered, and their output changes only at a specific transition (rising or falling edge) of the clock signal.