Зачем нужны функциональные компоненты в React, в чём их плюс по сравнению с классами?
В функциональных компонентах выделяют несколько плюсов, благодаря которым использование классов менее выгодно.
Самый простой из них: меньше кода. Функциональные компоненты обычно требуют меньшего написания кода, в них нет методов жизненного цикла, что в некоторой степени ограничивает, но при этом заставляет писать более простые компоненты.
Также функциональные компоненты ближе к чистым функциям, у них нет своего изменяемого состояния, а это значит, что их легче тестировать и переиспользовать.
Но нужно помнить, что функциональные компоненты не заменяют собой полностью классы. Но по возможности, предпочтительнее всегда использовать функциональные компоненты.

Что такое методы жизненного цикла?

Было бы неплохо добавить в объяснение ссылку на 20-й урок курса про "Жизненный цикл компонента", где как раз разбирается, что такое "методы жизненного цикла"

писать код с помощью функциональных компонентов с вынесением состояния в отдельный файл на первый взгляд проще, чем писать на классовых