Differences between flip-flops and gates
A flip-flop is a type of logic circuit. It is made up of gates. Flip-flops are generally used to store information while a gate only knows about present inputs. 

Said another way, a flip-flop is a group of gates arranged such that they have memory of previous inputs.