Soy escritor técnico en la industria del software, y encuentro que este es un problema común. Estas palabras (y otros sinónimos) se utilizan sin la debida investigación y reflexión, por lo que aparecen indistintamente. Esto crea confusión, ya que tendemos a acostumbrarnos al uso real de una palabra, y la gente del lenguaje no siempre se involucra en el diseño de la interfaz de usuario. Así que no hay que fijarse sólo en los productos existentes para obtener la respuesta!
En principio, debo decir que en UX (diseño de experiencia de usuario) siempre debemos esforzarnos por obtener datos empíricos. Si la respuesta es importante, entonces organiza una pequeña prueba en la que participen usuarios representativos (no tus colegas programadores, sino USUARIOS). Pídeles que definan las palabras, que las usen en frases o que introduzcan las palabras en bocetos de la interfaz de usuario. Escriba tarjetas con un montón de opciones/configuraciones, y pida a sus sujetos que las clasifiquen y etiqueten los montones.
Dicho esto, aquí están mis cinco centavos:
La configuración es algo que percibo como una propiedad profunda y fundamental del sistema. En su PC, la configuración podría ser cosas como qué sistema operativo utiliza, qué hardware está conectado, sus interfaces, sus controladores, su copia de seguridad automática, etc. Estas son cosas que su departamento de TI podría configurar, y que es posible que nunca cambie, a menos que tenga necesidades y conocimientos muy específicos.
Si usted construye productos de software, la configuración podría ser una adaptación en el sitio de un cliente específico. Usted podría utilizar un archivo de configuración para hacer los ajustes, o ajustar su base de datos para adaptarse al cliente.
En el otro extremo de la escala pondría Preferencias. Estas son mis opciones personales. Pueden implicar si el corrector ortográfico está activo, la elección de la imagen de fondo, la velocidad del puntero del ratón, etc. Estas elecciones no conllevan ningún riesgo, y puedes experimentar libremente y volver sobre cualquier elección.
Si construyes productos de software, las Preferencias serán cosas que puedes dejar hacer a tus usuarios a través de su interfaz de usuario. Las Preferencias pueden estar conectadas al usuario actual, y no a la aplicación de forma global.
En algún punto entre estos extremos la cosa se complica. Por ejemplo, los superusuarios/administradores podrían tener acceso a opciones que son bastante arriesgadas y que afectan a todo el sistema.
También tenemos palabras como Setting (Configuración), y Option (Opción), que yo usaría indistintamente (pero de forma consistente dentro de un contexto). Algunas aplicaciones utilizan estas palabras para menús y diálogos que son los mismos que las Preferencias descritas anteriormente. Pero tenga en cuenta que pueden usarse en singular («marque la opción etiquetada NUNCA»). Así que puede optar por usarlas para las cosas más pequeñas como las casillas de verificación individuales.
Las propiedades suelen referirse a objetos o elementos (por ejemplo, imágenes en programas gráficos). Yo evitaría usar esto para «propiedades de toda la aplicación».
En resumen, si tuviera que diseñar un sistema, usaría Configuración para las cosas que estableceríamos para el usuario/cliente durante la instalación. Suministraría un menú de Preferencias para que cada usuario hiciera su propia selección en cuanto a cosas superficiales. El menú de preferencias tendría un montón de Opciones o Ajustes. Si hago clic con el botón derecho en un objeto, podría obtener una opción de Propiedades para cambiar las características de ese objeto.
Pero al final, PRUEBA tu terminología junto con todo lo que construyas. Diferentes industrias podrían tener tradiciones muy específicas con respecto a estas palabras. Piensa de forma ágil y reajusta las cosas que crean confusión.