Flip Flop digital device capable of being in either of two stable states. Can be made to toggle between the two states by a pre defined digital input. Depending on the exact design and use of the flip flop, this could be:
A change of state from low to high, or high to low, (not both, which one causes the change depends on the the design) of a clock input. This will cause the flip flop to change from its initial state to the opposite state.
Asserting a Set or Clear input. This will force the flip flop into one of it's two states.
Use: Many uses, can be used for counting: Repeated signals to the clock input will cause the flip flop to change state once per cycle of high to low - low to high transition on the clock input. The output from one flip flop can be fed to a second and so on. The arrangment will count, in binary, the number of cycles of the original clock input, up to a maximum count of 2^(n-1), where n is the number of flip flops used.
Frequency division: a chain of flip flops as described above will also function to divide an input in frequency by 2^n, where n is the number of flip flops used between the input and the output.