shift operators are basically used to shift the bits either to the right or left. doing so the number can be either be multiplited or divided by 2. the computers in the low level follow shifting of bits for multiplication or division.
I believe that shift operators are used alot in embedded systems (micro java for chips like for cars and your programmable thermostat etc.), where every bit and byte has to be optimized for space. You can do math (one shift left is the same as multiplying by 2) and maintain switches and all sorts of clever stuff with bitwise operators with little overhead in ram.
"JavaRanch, where the deer and the Certified play" - David O'Meara
Shift operators could also be used in situations where speed is critical. << 3 is faster than * 8 (Shifting left 3 is faster than mulitplying by 8). I've never seen this done, and it sure would be hard to read without thorough documentation, but it's been explained to me in concept. Does anyone really do this?