Ti faccio un esempio pratico di un'applicazione che sto sviluppando.

Ho diverse classi. Alcune di queste classi per funzionare hanno bisogno del file definitions.php che contiene una serie di costanti quindi lo includo.

Ora a volte, nei file, ho bisogno di istanziare più classi che quindi devo includere.

Se all'inizio di ogni classe avessi scritto include 'definitions.php';
invece di include_once 'definitions.php';

solleverei una lunga serie di notice in quanto la prima classe che includo includerà definitions.php, quando includerò la seconda che a sua volta include definitions.php mi verrà segnalato il tentativo di ridefinire le costanti, che come sai è una procedura non permessa

Questo non è che un esempio.

In generale non userei include_once di principio e include solo quando è veramente necessario.