The Public API exposes all actions that a customer might take on your website or app. This includes things like creating an account, logging in, adding items to your shopping cart, checking out, etc.
Entities hold all of the data in slatwall, and they are the key object used in RESTful requests and typically have a 1 to 1 relationship with the database.
Services are never directly accessed via the API, only when building native CFML Slatwall integrations.
DAO's are never accessed directly, and are only every accessed by Services. The term DAO stand for (Data Access Object) and as such this is the communication layer between Slatwall application code and the database.
Many objects within Slatwall extend a series of base objects that give them their "behavior". This implicit convention based framework is unique to Slatwall.