Однообразие, написание километров кода для громоздких проектов, требует большой усидчивости. Если работать на ставку - невозможно отказаться от проектов, которые нет желания делать. Ну и изучить JS на высоком уровне - это задача трудновыполнимая, а без него (только со знанием HTML/CSS) зарплата будет низкой.
Pasha Kurbatsky все верно расписал в общем-то, но я бы добавил еще один минус. Front-end разработчик больше получает по голове за свои ошибки, ибо они сразу видны пользователям и им приходится что-то менять очень и очень быстро. Мое чисто субъективное мнение, как Back-End разработчика.