A Domain represents your data in a way that matches the business or object model your users understand. Domains create a layer of abstraction between the complexity of the database’s table joins, field labels, etc. and the end user who creates reports. Domains also add row- and column-level security to reports that is based on the user profile.
Learn and see the advantages of Domains in this short tutorial.