The idea behind shift registers is that multiple pieces of data can be “held” inside of the IC and then output by the shift register when the user sends the appropriate signal.
Data is able to be put into and received from the shift register in one of two ways: either serially (one piece of data at a time) or in parallel for multiple pieces of data simultaneously.
One of the commonly used types of shift registers, which I will be demonstrating here, is a SIPO (serial input, parallel out) shift register, although other types of shift registers exist as well.