ADF provides a common location for contextual information in the web application for any given request

ADF can be used in more than one ways to drive different user experiences since most of the Tridion modules writes data/information to the ADF which can be processed to generate/make different decisions in the Web Application for any given request