What is a flip-flop?

A flip-flop is a basic memory element that is made of an assembly of logic gates and is used to store 1-bit of information.