Существуют различные альтернативы: MVP, PAC, MVVM, (по фичам), т.д.
Вопрос в следующем: когда не следует использовать традиционны MVC и в чем преимущество использования вышеперечисленных паттернов?
Трудно сказать, все зависит от задачи. Где то лучше использовать один паттерн где то другой, а где то не принципиально. К тому же, многие программисты грешат тем, что используют только свои любимые паттерны, даже там, где другой подошел бы лучше. Сам этим грешу:) Так называемый, "Золотой молоток"
Если вы пишите в процедурном стиле, то почему бы и нет - используйте MVC.
Если в ООП - то стоит задуматся.
Предлагаю ознакомится со статьей Егора Бугаенко, чтобы выработать разобратся с этим вопросом: MVC vs. OOP .