I know that starting with iOS5 and the new UIViewController containment methods, you are supposed to call these methods together with addChildViewController:
In addition to what has been said, they do call some delegate methods:
addChildViewController calls [child willMoveToParentViewController:self]
and removeFromParentViewController: calls [child didMoveToParentViewController:nil]
Also, they modify the childViewControllers property, which holds an array of child view controllers.