phaedrus explained why use an infix operator, but why specially the shift operator?
My guess: because it has very low precedence, allowing stuff like:
> cout << a + b * c << " is the result\n";
Instead of:
> cout << (a + b * c) << " is the result\n";