Представление XIB связано с UIViewController.
Преимущество отсоединения создания контроллера от загрузки его представления (загрузка представления XIB) состоит в том, чтобы избежать использования некоторой памяти, пока представление действительно не отобразится на экране (отображение представления на экране вызовет доступ к свойству controller.view, привести к загрузке UIView из XIB, связанной с этим контроллером).
Давайте возьмем крайний пример: вы помещаете все ваши view / controller в mainWindow.XIB. В результате будет создан экземпляр всех ваших представлений во время запуска, даже если некоторые представления никогда не отображаются за один цикл выполнения. Побочным эффектом будет медленное время запуска и плохая оптимизация использования памяти.