I suspect this question is posed more as rhetoric than from genuine puzzlement.
First off it must be acknowledged that binary formats are long-established and a perfectly legitimate option for saving data.
Though probably not what you had in mind, image formats are an obvious example where binary remains king - there is no breakdown of image data into human-readable scan lines or other algorithmic elements.
But equally, text-based formats were also long-established before XML and JSON became popular, particularly CSV for tabular data, and for example INI files (on Windows) for application configuration.
The primary advantage of binary formats for bulk data in the past was that they were compact (mainly because there are often no delimiters between fields, or other metadata - structural and descriptive information is stored almost entirely in the application or source code), and they are fast to parse because they are well-integrated with the application which uses them. The application is essentially written as a custom parser, probably exploiting assumptions built into the language or platform.
However speed and size for file formats and file-based applications have receded as concerns nowadays. What tends to be more important is durability and flexibility.
More standardised representations of data, more standardised layouts, the storage of descriptive metadata alongside the data, these are all recognised as things which tend to preserve the ability to read and write the data in the long-term, and ease the ability of programmers to read and manipulate the data without access to (or detailed familiarity with) the original source code or development environment.
Indeed, as other answers say, they can also be a boon for debugging and manual data recovery.