Stai parlando di C???? Tanto anche in Java la sintassi e la semantica dell'operatore sono uguali...

ad esempio

y <<=x

può servire a moltiplicare y per 2^x

in pochi cicli di clock della cpu.

Oppure supponi di ricevere un file che contiene interi a 32 bit da una cpu PowerPC e di doverli convertire in interi leggibili da Intel x86

int intel = (mac >> 24) & 0xff | (mac & 0xff00ffff) >> 8 | (mac & 0xffff00ff) << 8 | (mac &0xff) << 24;

inoltre viene spesso usato nella gestione dei colori, nella crittografia e nella compressione, altri esempi non mi vengono in mente adesso.