Los uso de la siguiente manera:
Texto sin formato
Si esa categoría incluye formatos un poco más elaborados, como YAML o archivos de propiedades, entonces es la mejor opción para lo que sea que espere que las personas lean y editen a mano. Otra gran ventaja es la simplicidad de modificarlo mediante un pequeño script (por ejemplo, sed).
Nada supera la simplicidad y facilidad de uso. Cuando el equipo de soporte tiene que configurar algo en una máquina remota (por ejemplo, resolver el problema de un cliente), o TI tiene que reconfigurar un grupo de servidores que ejecutan su software, le agradecerán por elegir este formato. También le ahorrará escribir un software único que lo haga por ellos.
XML
Estoy de acuerdo con @Ingo aquí: a diferencia del texto sin formato, XML es más difícil de procesar mediante secuencias de comandos y es una pesadilla editarlo a mano.
Aún así, si tiene datos con una estructura elaborada donde YAML se vuelve indescifrable y aún quiere que sea legible y editable por humanos, entonces XML es probablemente la mejor opción.
Base de datos relacional
Una gran opción para cuando tiene muchos datos (que harían engorroso el texto plano y XML) que aún puede permitir que terceros editen manualmente, a través de comandos SQL e incluso GUI.
Otra ventaja es que su código que administra los contenidos es muy legible. @ Richard-Harrison dio una buena lista de otras ventajas en su excelente respuesta.
Base de datos NoSQL
Una ventaja sobre RDBMS es la escalabilidad a través de la distribución, que probablemente no sea muy relevante para su pregunta. Las ventajas que probablemente son más relevantes son la simplicidad de un almacén de valores clave y la flexibilidad de la ausencia de esquemas (¿es esta una palabra?). Cuando se encuentre rompiendo el paradigma relacional: simplemente almacenando blobs en la base de datos, accediendo a ellos por clave y procesándolos a través del código, entonces considere esta opción. Algunas opciones (por ejemplo, CouchDB) son muy portátiles, tienen un tamaño reducido y también pueden escalarse, por lo que ofrecen una buena alternativa no relacional a MySQL y SQLite.
Binario
La ventaja del binario es que es rápido y compacto. Cuando lo único que necesita leer y modificar su archivo es un programa y los datos no se ajustan al paradigma relacional o la velocidad es realmente importante, entonces esta puede ser una buena opción. Probablemente la mejor opción para archivos multimedia.
Sin embargo, debo señalar que todavía no he encontrado un caso en el que no se requiera un acceso simple a los datos del programa en algún momento por razones que no se consideraron durante el diseño inicial. Hoy en día, personalmente busco la opción de base de datos para cualquier otra cosa que no sean archivos que tienen formatos estándar y necesitan ser codificados / decodificados por otro software (por ejemplo, audio, video).
Nota: existe una idea errónea de que el binario es opaco y, por lo tanto, de alguna manera más seguro. Sin protección adicional, no lo es: si alguien quiere hackear su software, simplemente almacenar sus configuraciones o lo que sea en binario no las detendrá.
Archivo comprimido
No es realmente una alternativa a lo anterior, sino más bien una medida adicional.
Ventajoso cuando necesita transmitir cosas a través de la red, o cuando almacena montones y montones de datos y desea ahorrar espacio. Tenga en cuenta que el espacio de almacenamiento suele ser abundante en estos días, así que considere su plataforma de destino.
Se desempeña muy rápido en casi cualquier cosa hoy (la ley de Moore en acción, bebé), por lo que la única razón para no usarlo es que agrega complejidad a su código. No mucha complejidad, pero sigue siendo una violación del principio KISS. Especialmente engorroso para los archivos de configuración que deben editarse manualmente o mediante secuencias de comandos, y si realmente necesita ahorrar espacio allí, entonces probablemente debería usar la opción de base de datos.