Alias joins are necessary to avoid unwanted 'loops'. One example involves project ownership. One department may own a project, but may have other departments work on it. If the labor is charged at the 'performing' department level, I can show the name of the department DOING the labor via a join to the department table. In order to show the name of the department OWNING the project, I would have to add an Alias of the department to the catalog and join it to the project.
I hope this helps.
Dave Griffin