Goal of root and dictionaryes

If to use root the same way we used to use _root we have to cast it to mc or sprite, it seems that it was not designed to be used that way
SO, how root was suposed to be used?I mean, what that for?
And what dictionaryes are for?