Unless you can convert your binary to a stream of text, forget grepping it or doing any of the transformations everybody with a modicum of experience of *nix is very familiar with.
Well there are many ways to do that with systemd, including various language bindings to eg. Python, allowing you to directly query the journal.
It would also be trivial to tech "grep" etc to learn to read the journal, just like "zgrep" can read binary files. There is no point to that however, since the concept of piping works so well: All the standard text tools like grep, awk, tee, wc etc. works with the systemd journal through piping.
On the commandline, binary files are going to require a custom built interface for that specific type of binary. That custom built interface needs to have all the features you want for easy searching etc.: no regular expression search built-in? Then forget about it. If you're lucky, there is another tool that understands your specific binary flavour which may or may not do what you want.
No, that is wrong. Through the Unix concept of piping all standard text tools work with systemd's binary journal, so you can use any grep regex on the journal.
A text file does not have those problems because it can be interpreted using a standard that is ridiculously simple, old as dirt and supported by and ingrained in pretty much fucking everything that displays letters.
I'm not saying a binary format cannot have its advantages (databases obviously have many), but to dismiss the difference between binaries and text files with 'you still need a tool to read them' is absolutely fucking idiotic.
I think you make text files much simpler than they really are; multi-language files, UTF vs ASCII, Unicode and even simple CRLF vs LF can make dealing with text files a major hassle.
People are often surprised by the Posix definition of a text file (which causes eg. grep to treat "text" files as binary data.
Anyway, having worked with systemd's journal for quite some time I can only say it is major benefit to use and that practically all concerns I have seen raised against it seems to be based on wrong and often contrived speculations.
Stuff like "journalctl -b -1 -p err" and "journalctl --since -10m" is just great. And I really like that even log-entries can be tab-completed, so you just type "jou(tab) -u sma(tab)" to type "journalctl -u smartd.service"