Чем модель отличается от контроллера, и что для чего используется в примерах?
На примере организации студии.
Есть начальник - контроллер, он раздает задачи, и говорит: -
-"Слыш, Вась (модель), собери нам весь список сотрудников, форматированный по алфавиту и т.п. и занеси мне".
Вася заносит, начальник проводит со списком свои манипуляции и думает, кому из дизайнеров (вьюхи) его отдать, чтобы они подготовили данный список в удобночитаемом и презентабильном виде.
-"Гена, метнись-ка по-быстрому, вот тебе список, оформи его и покажи всем", ну и это будет, собственно, результатом работы модуля.
А в общем, делать ли логику и разбор данных в модели, возвращая уже готовый результат в контроллер, или же получать из модели сухой набор данных из БД для обработки в контроллере - Вам решать.
Лично меня напрягает, когда в модели много писанины, расфасовка данных по результирующим массивам и т.п., этот момент я отдаю в лапы контроллера, а модель только для обращений
 что работу с бд лучше проводить в модели
не лучше, а правильно. это я что-то неправильно понимаю
неясно как ответитьили статьи некорректны 
Сложно ответить не зная о каких статьях идет речь. Но могу предположить, что скорее всего в них упрощены некоторые моменты, просто для понимания процесса в целом.
Модель - работает с сущностью БД. Например у вас есть таблица пользователей. Для нее вы создаете модель Customer. Все необходимые операции при выборке или т.п., например JOIN-ы, вы делаете в модели, а в контроллере, вы получаете только доступ к объекту этой модели и дальше с ней работаете