I didn’t get the impression they were saying never to do it (maybe I missed that bit in the text).
I think they specifically said, when piping, don’t force functions to handle the error of the upstream function.
Because each error needs to be handled differently, the downstream function’s implementation becomes tied to the upstream function. Then the downstream function is only usable with said upstream function.