Tem um artigo na documentação que responde a sua pergunta: You Might Not Need an Effect.
Existem várias situações que as pessoas utilizam o useEffect
sem necessidade, mas às vezes é necessário. Por exemplo, como a própria documentação diz:
You do need Effects to synchronize with external systems.