ActiveRecord имеет смысл использовать, если ваша модель хорошо ложаться на реляционную структуру данных. Т.е. свойства классов соответствуют полям таблицы.
Для сложной бизнес логики - лучше доктрина, она маппит данные из таблиц на наши доменные объекты и структура таблиц субд может сильно отличаться от структуры нашей модели. Также доктрина включает много замечательных штук таких как UnitOfWork, EntityManager и кучу других удобных вещей.
Для большинства сайтов и несложных проектов active record - хороший вариант. Для сложных проектов - Doctrine.
Про использование orm vs pdo выше ответил
OnYourLips