A well designed interface allows any type of user, beginner, advanced, or expert, to achieve their objective quickly. In most cases, help information contains the description of elements and functions focused on beginner-level users. It allows one to quickly deal with an unfamiliar interface. In addition there are often many "hidden possibilities" which allow a user to considerably reduce time spent to achieve their purpose. The most widespread example of this is HotKeys/Shortcuts.
Other examples include swipe-to-unlock from the notification center in iOS5 and quick select a month daterange by double-clicking the header in Google Analytics
In most cases, information on similar features is learned as a result of interaction with/discovery of the interfaces or on web-forums for advanced users.
Are there any rules on creating the help files in such situations and is it necessary to announce hidden functions? And is it possible to provide this information for advanced users while still explaining the basic functions of the application for novice users?