Im gonna try and answer this with a straight-forward practial answer:
| lets you do awesome stuff in the shell! It's the one single operator that i consider the most usefull and mighty.
how about counting files in a directory? simple:
ls | wc -l ..redirect the output of
wc wit parameter
-l for lines
or counting of lines in a file?
cat someFile | wc -l
what if i want to search for something? 'grep' can search for occurences of strings:
cat someFile | grep aRandomStringYouWantToSearchFor
you just redirect the output of the command left of the Pipe to the command right of the pipe.
one more level: how often does something occure in a file?
cat someFile | grep aRandomStringYouWantToSearchFor | wc -l
you can use the | for nearly everything :)
fortune | cowsay