This question is regarding dependency feature activation, while upgrading a feature to latest version.
Suppose, There is a feature called MasterFeature_0_0_0_0 and it is being upgraded to MasterFeature_1_0_0_0. This MasterFeature_X_X_X_X is depended on subfeature_0_0_0_0. SubFeature_0_0_0_0 is visible feature.
As per MSDN documentation( http://msdn.microsoft.com/en-us/library/office/ee538968(v=office.14).aspx ), when the subfeature is not visible, custom code needs to be written for in UPgrading event to do that.
Ask: why do default upgradation infrastructure can activate a hidden feature and cant' activate a visible feature?