Es la nueva característica de transformación Web.config de Visual Studio 2010. Más información aquí .
Editar:
¿Se utilizan estos archivos para especificar la depuración y la liberación de configuraciones específicas, de modo que no abarrote el archivo web.config principal?
No se limita a tres archivos, podría (en teoría) tener tantos archivos como entornos. El Web.config de "nivel superior" proporciona una plantilla de su configuración web. Los archivos que se encuentran debajo proporcionan valores de reemplazo específicos para ese entorno (por ejemplo, si tiene diferentes cadenas de conexión para local / stage / test / lo que sea).
¿Tiene sentido colocar una cadena de conexión en el archivo raíz web.config si tengo uno local y uno remoto en la depuración y lanzamiento de web.configs respectivamente?
Solo tendría sentido si no cambiara entre entornos. Parece que en tu caso sí lo hace, en tu caso no, no tendría sentido dejarlo en el Web.config.