Named pipes have been rare for me, but simple process substitution is every day.
Very often I do something like this in quick succession. Command line editing makes this trivial.
$ find . -name "*blarg*.cpp"
# Some output that looks like what I'm looking for.
# Run the same find again in a process, and grep for something.
$ grep -i "blooey" $(find . -name "*blarg*.cpp")
# Yep, those are the files I'm looking for, so dig in.
# Note the additional -l in grep, and the nested processes.
$ vim $(grep -il "blooey" $(find . -name "*blarg*.cpp"))
Granted, you can only append new arguments and using the other ! commands will often be less practical than editing. Still, it's amazing how frequently this is sufficient.
I've always thought it'd be nice if there was a `set` option or something similar that would make bash record command lines and cache output automatically in implicit variables, so that it doesn't re-run the commands. The semantics are definitely different and you wouldn't want this enabled at all times, but for certain kinds of sessions it would be very handy.
I used to do it something like that, but I find it personally easier to understand the way I described it and evolved into that. I also like what I'm ultimately doing (vim/vi in this case) to be over on the left: edit whatever this mess on the right produces.
Very often I do something like this in quick succession. Command line editing makes this trivial.