PDO::prepare prépare la requête. Il est inutile de préparer une requête sans argument, c'est du temps CPU perdu pour rien.
Donc il est normal d'avoir une requête préparée avec des arguments.
Arguments que tu renseignes à la ligne 2 dans le execute.
Le principe d'une requête préparée c'est de la préparer et de l'exécuter avec plusieurs arguments différents.
C'est plus rapide que d'exécuter X execute sur une requête préparée avec X arguments différents que d'exécuter X query contenant chacune une requête dont l'argument diffère (et qui n'aura pas été préparée).
Vois cela comme si tu avais à servir des invités chez toi.
Si tu n'as pas fait la vaisselle pour X assiettes bah tu es obligé de le faire pour chaque convive qui arrive.
Or faire une grosse vaisselle utilise moins d'eau que de faire X fois la vaisselle avec peu d'assiette.