Streams can be used for 'lazy evaluation' in OCaml, especially since OCaml is an eager language, there are definitely useful cases were lazy evaluation (like in Haskell) is desired.
Quoting a lecture in Cornell on streams,
Streams are actually useful in real life. Some applications:
- compilers reading source file from text
- network sockets
- audio and video signal processing
- voice recognition
- approximating solutions to equations using convergent series
The provided reference also uses streams to calculate primes lazily, which is very very fast compared to the normal way of computing large primes using the sieve of Eratosthenes. So I feel that streams definitely have their place in the language as it allows for lazy evaluation in OCaml.
Streams were used by my Professor to explain the concept of lazy evaluation in an eager language, the reason it isn't mentioned in Real World OCaml could be that the language itself is eager and streams are not parallel with that concept, and that streams cannot be mutli-threaded. (this is however, speculation)