Nun, der Fetchmodus richtet sich nach der Verarbeitung der gewonnenen Datenstrukturen. PDO::FETCH_ASSOC ist sozusagen der Allrounder weil die Werte direkt addressierbar sind und weil auch jede TemplateEngine die Daten in dieser Struktur zum rendern haben will.
Man kann sogar noch einen Schritt weiter gehen und grundsätzlich alles mit fetchAll() aus der DB holen auch dann wenn man nur einen Datensatz erwartet. Was den Vorteil hat, daß man seinen Code insofern vereinheitlichen kann weil die Datenstrukturen stets dieselben sind.
MFG