A 'shift register' is a means of providing information, concerning an item, determined at one point in a process to another point later in the process. The 'information' may be as sparse as 'an item exists or doesn't exist' (in which case the 'information can be a '1' or a '0') to 'this item has the following complex set of information' (in which the information could be a variety of information like size, color, weight or any other parameters relevant to the process).
The information is passed from one place in memory to another as different areas of the process take responsibility for the item. (Note: a 'shift register' can be achieved by moving the information or by moving pointers to information. The result is the same.)
The information may be moved based on time or on an event like a change in position. In general a 'shift register' moves all the pieces of information at the same time indicating a synchronous transference of the information from one point to another.
A shift register could be constructed which moves information in a sequential mode, that is, information 'n-1' moves to space 'n' then some time later information 'n-2' moves to space 'n-1' etc. With the shift point moving backwards through the shift register avoiding an overlap and overwriting of information. That is generally beyond this discussion.
A practical example is the 'pass/fail' information from an inspection device being passed downstream toward a rejection station. In this case the 'information' is typically a '1' or '0' though the 'reason for rejection' could be passed as a more complex set of data.