Ты сразу начал спрашивать кейсы которые нужны раз в год. Рефу на функциональный компонент я уже не помню когда писал.
Доки реакта хватает для всего. Если писать как на свелте, а на свелте ничерта не драится, то ты просто можешь писать классовые компоненты и не напрягать мозг хуками. Когда базовый принцип поймешь, дочитываешь useState/useEffect и делаешь все то же самое на хуках, потому что на них логику можно шарить между разными компонентами. А в свелте надо сразу же какие-то сторы корячить, потому что код с метками $: нельзя вынести из компонента в отдельный модуль.