self.window.rootViewController vs window addSubview

Notei muitos exemplos de aplicativos para iPhone no Application Delegate

- (void)applicationDidFinishLaunching:(UIApplication *)application

ter

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

em oposição a

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

Existe alguma razão prática para usar um sobre o outro? Alguém está tecnicamente correto? O controlador tem um comando equivalente ao número (2) como

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

questionAnswers(5)

yourAnswerToTheQuestion