Pipes are the oldest of the IPC tools, having been around since the earliest incarnations of the UNIX operating system. They provide a method of one-way communications (hence the term half-duplex) between processes. This feature is widely used, even on the UNIX command line (in the shell).
ls | sort | lp
The above example sets up a pipeline, taking the output of ls as the input of sort, and the output of sort as the input of lp. The data is running through a half duplex pipe, traveling (visually) left to right through the pipeline. As it was mentioned the standard input (or the standard output) can be redirected to the given file instead of another process.
ls | sort > ls.txt
The above example creates a pipeline between ls and sort, the standard output of ls is redirected as the standard input of sort, and then the standard output of sort is redirected to the file named ls.txt.