What a shift register does
A shift register is a chain of D flip-flops where the output of each stage feeds directly into the input of the next. On every clock edge, every bit in the chain moves one position over, and a new bit enters at one end while the bit at the other end falls off.
Serial-in, serial-out (SISO)
In the simplest configuration, data enters one bit at a time at the first flip-flop's D input and exits one bit at a time from the last flip-flop's Q output, delayed by exactly N clock cycles for an N-stage register. This is the basic building block of delay lines and simple serial communication.
Parallel load and serial-to-parallel conversion
Add a parallel load input to each flip-flop and a control line, and the whole register can be loaded with an N-bit value in one clock cycle, then shifted out one bit at a time — exactly what a UART or SPI peripheral does to convert a parallel byte into a serial bitstream for transmission, or the reverse: receive bits serially and read out the assembled byte in parallel once all bits have arrived.
Where they're used
Beyond serial communication, shift registers drive LED chasers and seven-segment scanning displays (shifting a single active bit through a row of outputs), implement simple delay lines, and form the basis of linear-feedback shift registers used for pseudo-random sequence generation.
Load a shift register example in Boolflow, toggle the CLOCK, and watch the active bit move down the chain of OUTPUT elements one position per pulse.