A detailed discussion of DDD can, and in fact does, merit an entire book. Since we are developing a small app here, we will focus on the pieces of DDD relevant to our development efforts.
The Domain Model is just as its name implies. It is a model of the domain. Unfortunately, the term is also ambiguous. If someone talks about a model, most developers immediately think about the underlying storage of an app. That is not the case here.
Oversimplified, a domain model is the translation of the problem space into a common language. It can be used to define common terms to apply to entities, values, collections, properties, actions, events, or any other item in the problem domain. If done properly, a domain model will be free of technical guidance or implementation. The clarification provided by a domain model makes it an excellent tool to assist in communication across all levels of an organization.