La respuesta corta es porque (al menos en teoría) todo el software funciona mejor, de manera más eficiente y más coherente de esa manera.
La respuesta larga es que el objetivo de la mayoría de los entornos de escritorio es satisfacer la mayoría de las necesidades básicas de un usuario y las personas que trabajan en estos proyectos tienen diferentes ideas sobre cómo hacer este trabajo. Entonces, todos están creando software que representa sus ideales para satisfacer esas necesidades.
GNOME tiene Gedit, Brasero y otro software basado en GTK porque funcionará sin problemas, no requiere marcos adicionales y encaja con lo que los desarrolladores de GNOME ven como una experiencia de escritorio ideal. Mientras tanto, KDE tiene un software basado en QT (otro marco de software) y es representativo de lo que la gente de KDE ve como la mejor experiencia de escritorio.
La razón por la que no están haciendo software juntos es porque sus puntos de vista sobre el diseño son totalmente diferentes. El desarrollo de software es tanto arte como ciencia. GNOME, KDE, Unity y cualquier otro escritorio que se te ocurra está desarrollado por personas que están creando lo que quieren ver en el escritorio.
Y además de todo eso, como insinué antes, todo esto está construido en diferentes marcos. GNOME usa GTK, KDE usa QT, etc. Cuando compila todo para el mismo marco y entorno, encaja muy bien y, por lo general, funciona un poco mejor. Por lo tanto, mantener el software "en la familia" también ayuda al desarrollo en ese aspecto.
Solo uso el escritorio predeterminado de Ubuntu (Unity) y, por lo general, no me importa si una aplicación es específica de KDE o GTK. Cualquier software que funcione mejor para mí es lo que usaré. ¡Siempre tienes esa encantadora libertad de elección con Ubuntu y Linux en general!