То, как я это понимаю: ORM - маппинг объектно-ориентированной структуры (модели из MVC) на базы данных (отношения объектов, составление запросов и т.д).
Т.е используется некоторое описание из самих моделей для понимания того, как именно они сохранены в БД и на основе этого и проиходит взаимодействие.
DAO - это доп. прослойка (абстракция) между моделями (или объектно-ориентированной структурой) и тем, как именно мы эти данные достаём из БД. Т.е наша DAO может описывать - как именно мы CRUD-им (вставляем, читаем, изменяем, удаляем) наши данные для объектов.
Принципиально это очень разные вещи.