Parent.height vs parent.stageHeight

I want to place an object either directly on stage or in some other movieClip but I need to read parent height to align it properly from the bottom.

I thought I could use this and it will work for both the stage and the movieClip and I could get away with one line of code:

trace(parent);
//[Object Stage]
trace(parent.height);

but this doesnt work for stage, I need to use this:

trace(parent.stageHeight);

which is the same as this:

trace(stage.stageHeight);

so obviusly I need to ask first whether the parent is the stage, so I can find the height…
So what is parent.height actually outputting?