Filters have a simple interface that allows their easy exchange within a processing pipeline. [1]
This major benefit, combined with the reusability of filter components, allows you to create new processing pipelines by rearranging filters or by adding new ones. [1]
A pipeline without a data source or sink can be embedded as a filter within a larger pipeline. [1]
Reusability and Composability make it easy to prototype a data-processing system from existing filters. [1]
If your processing stages need to share a large amount of global data, applying the Pipes and Filters pattern is either inefficient or does not provide the full benefits of the pattern. [1]
A long chain may face certain amount of overhead because the data transmission. If we are using a long chain of filters, we are paying for the gain in flexibility with potentially lower performance due to repeated message transmission.