PipedInputStream и PipedOutputStream могут быть несколько полезными, поскольку можно подключить тот к другому.
Никуда, если вы не вызовете Console.SetOut
и не скажете, куда идти.
Это очень полезно, когда вы пытаетесь отладить свой WebService, но когда он не находится в режиме отладки, он никуда не денется. Если, как сказал @marcc, вы не укажете ему, куда идти.