self.window.rootViewController vs window addSubview

He notado muchos ejemplos para aplicaciones de iPhone en el Delegado de aplicaciones

- (void)applicationDidFinishLaunching:(UIApplication *)application

tene

[window addSubview: someController.view]; (1)

Opuesto

self.window.rootViewController = self.someController; (2)

¿Hay alguna razón práctica para usar uno sobre el otro? ¿Es uno técnicamente correcto? ¿Los controladores tienen un comando equivalente al número (2) como

self.someController.rootController = self.someOtherController; // pseudocode

Respuestas a la pregunta(5)

Su respuesta a la pregunta