I understand that a binary file is not simple machine code with zeroes and ones. At a meeting yesterday, my colleague stated that we would need a hexdump editor to read binary configuration files for a system. Why would anyone use a binary configuration file? Why do I need a special editor to read it?
It sounds like there's quite a bit of confusion going on here, but to answer your direct questions:
Why would anyone use a binary configuration file?
Binary configuration files are probably smaller than a text format. If the configuration file "format" exactly matches your in-memory layout, you can just read the file in without needing a parser.
These days, the disadvantages (the file not being human readable, lack of forward/backward compatibility) almost certainly outweigh the advantages, but the may be some very small embedded systems where it's a sensible tradeoff.
Why do I need a special editor to read it?
Because a string of hex digits (or binary, or whatever else) isn't generally understandable to a human. Look it at hex dump of a gzipped file and tell me what it says without using a tool to uncompress it.