At sometpoint you may run out of pins on your Arduino board and need to extend it with shift registers like this shift out module which is based on 74HC595. The datasheet refers to the 74HC595 as an "8-bit serial-in, serial or parallel-out shift register with output latches; 3-state." In other words, you can use it to control 8 outputs at a time while only taking up a few pins on your microcontroller. You can link multiple registers together to extend your output even more. It can also be applies to 51, AVR, PIC and other microcontroller.