Репозиторий — это слой абстракции, инкапсулирующий в себе всё, что относится к способу хранения данных.

Назначение: Разделение бизнес-логики от деталей реализации слоя доступа к данным.

Путаница с паттерном DataMapper

DataMapper — это то, что традиционно неправильно называют моделью. Мостик между БД и объектом: считать данные из БД и записать в объект, сохранить объект в БД. Фактически CRUD. Способ автоматизировать рутинные операции. Моделью являться не может в силу изначальной ограниченности.
Другими словами, это универсальный код, подходящий для работы с любыми объектами. Инструмент для работы с БД. Все его методы одинаковы для любых объектов.

Репозиторий — это то, что на самом деле является моделью — набор методов, реализующих бизнес-логику приложения. Метод в репозитории может включать в себя десяток разных запросов к БД для получения набора данных, необходимого в приложении, плюс их обработку. 
В отличие от DM, репозиторий содержит также уникальные методы, которые отражают конкртеные нужды конкретного модуля приложения.