Flip-flops are basic memory circuits that have two stable states and can store one bit of information. There are several types of flip-flops including SR, JK, D, and T. The SR flip-flop has two inputs called set and reset that determine its output state, while the JK flip-flop's J and K inputs can toggle its output. Flip-flops like the D and JK can be constructed from more basic flip-flops. For sequential circuits, flip-flops are made synchronous using a clock input so their state only changes at the clock edge.