Você sempre precisa de um banco de dados para seu aplicativo? Claro que não.
Como tudo em tecnologia, nada é ideal em todas as situações.
Os computadores oferecem muitas maneiras diferentes de armazenar dados. A alternativa mais óbvia é arquivos .
Um exemplo comum é um CMS. Alguns CMS usam um banco de dados para armazenar dados (pense WordPress), outros preferem armazenar dados usando arquivos (pense Grav ou Statamic).
Não usar um banco de dados nesse caso significa uma implantação mais simples em um serviço de hospedagem.
Mas ao lidar com muitos dados, um banco de dados é definitivamente uma ótima maneira de simplificar sua vida a longo prazo.
Se você estiver criando um aplicativo para macOS ou iOS, poderá decidir que um arquivo JSON ou Plist é tudo o que você precisa para lidar com dados, pois o usuário não precisa armazenar muitos deles.
Ou talvez o Core Data (um wrapper para um banco de dados SQLite interno) seja melhor para você.
Como sempre, é tudo um equilíbrio entre complexidade e conveniência.