Фронтенд-разработчик может работать как в команде, где есть специальный человек, который общается с клиентами, так и тащить своё ИП в одиночку, самостоятельно находя заказчиков (к сожалению, второй вариант более актуален для небольших городов).
Заказчики же, не хотят (да и не должны) разбираться в том, что такое сайт, что у него есть фронтенд-часть (ту, которую он видит), бэкэнд-часть (ту, на которой сайт работает), административная часть (оплата хостингов, доменов), дизайн, маркетинг и так далее. Так что главный минус у профессии, если вы работаете один - это разбираться во всём и сразу, даже, если это не ваш профиль (+ общаться с клиентами). Фулстак-дизайнер-маркетолог-рекламщик. Как шампунь-гель для душа-майонез-кетчуп.
На мой субьективный взгляд, плюсов у профессии больше: можно подходить к работе творчески, а результат виден с самого начала. Вторым плюсом, как у всего программирования будет постоянная необходимость самосовершенствоваться, языки обновляются, появляются новые.
Свой минус я решил, после того, как квалификацию повышал на курсах у Яндекс.Практикума, у них есть система занятости, научат писать резюме, проходить интервью, можно получить предложения о работе в командах других разработчиков.
Pasha Kurbatsky все верно расписал в общем-то, но я бы добавил еще один минус. Front-end разработчик больше получает по голове за свои ошибки, ибо они сразу видны пользователям и им приходится что-то менять очень и очень быстро. Мое чисто субъективное мнение, как Back-End разработчика.
Однообразие, написание километров кода для громоздких проектов, требует большой усидчивости. Если работать на ставку - невозможно отказаться от проектов, которые нет желания делать. Ну и изучить JS на высоком уровне - это задача трудновыполнимая, а без него (только со знанием HTML/CSS) зарплата будет низкой.