I think this is a bit like asking what is the purpose of the AND function.
A shift register is an easily implemented hardware block in electronics and has multiple uses when used with supplementary hardware (e.g. shift registers are often used in pseudo-random number generators to generate long sequences.)
When looking at the shift register from a higher level language viewpoint it may seem a bit pointless, but at a low level it allows you to move bits around very effectively, and in assembler that is literally what you are doing, manipulating bits directly
This looked to be a useful site on assembly language
Look-up the section on 'Shift and rotate'. It gives examples of different variations of shift register instructions that generate different end results, for manipulating bits using a shift register.
I don't know a lot about assembly, but if all these instructions are available that use shift registers in different ways, I am sure that they weren't created just for fun!
Perhaps you would have better insight if you tried to create a simple programme for a less complicated processor (such as a microcontroller.) You may find that as you try to reliase the programme that the shift register becomes very useful!!