La programmation objet facilite la maintenance. Lorsque les objets sont bien réalisés, il est simple de leur ajouter une extension de fonctionnalités.
Cependant, pour de petites pages sans prétention (ex : page "contacts") il peut être plus rapide et plus simple de ne pas développer en objets, ces pages n'évoluant généralement pas dans le temps.
Plus le projet est important, plus la programmation objet devient indispensable.
Par ailleurs, lors d'un développement en équipe, il est clairement plus simple de réaliser les développements en objet, avec une bonne norme de programmation chacun peut modifier le code de l'autre sans difficulté.
Pour les développements consommateurs en temps d'exécution (ex : traitement d'image en php), il est préférable d'optimiser la durée d'exécution et la consommation mémoire au détriment de la structure du code, le développement est donc plus approprié en non-objet
Je ne pense pas que la réutilisation de code soit un critère différentiateur, une bonne fonction bien faite vaut tout autant qu'une classe en terme de réutilisabilité.