Some of you may have wished that there was a convenient way to send out data without needing to use an I/O pin for every peripheral device that you were attempting to communicate with.
Or perhaps you wanted a way to receive multiple inputs but only give a single output stream of data; or perhaps a buffer of some kind that delays the transmission of data from one device to another.
Shift registers are a great solution to all of these problems!