Personally, I often use grep to filter results of a pipeline:
some | commands | grep ERROR
In fact I do this so often that I have it aliased to g: alias g=grep
Maybe I could achieve the same with ack/ag/ripgrep, but I somehow mentally associate these tools with searching over a filesystem.