The User Directory is a (possibly big and complex) XML document that is accessed by FreeSWITCH and all of its modules whenever they need to know about users' attributes. It is in the User Directory that the user's password, which groups (if any) the user belongs to, various and arbitrary variables and parameters related to the user or to the group, and so on are defined.
Each time the FreeSWITCH core or one of its modules needs such an information, it will issue an internal request. That internal request will use one of many different methods to end up with an XML snippet that defines the information requested. So, that XML snippet can be the result of a query to a database or to a webserver, or it can be built starting from the XML tree FreeSWITCH composed in its own memory at startup based on the configuration XML documents found on the filesystem...