В каких случаях использовать web framework, а в каких можно обойтись готовым движком для сайта?
Скорость исполнения кода - фреймворк.
Скорость создания сайта - CMS.
PS: непонятно лишь одно: как мог возникнуть такой вопрос?)
Если функционал недостаточен на какой-нибудь CMS - лучше пишите свою, ну или либо тогда, когда нет таких CMS, которые вам подходят. Если писать на фреймворках - это лучше для безопасности (конечно об этом можно ещё подискутировать), так как другие не знаю ваш код. Да и функционал можете сделать какой хотите. Всё зависит от ваших знаний.