La complexité dans les thèmes, c'est qu'il y a du PHP (pour remplir avec les données de la base), du HTML pour définir les blocs et du CSS pour mettre en forme les blocs. Pour construire un thème facilement modifiable par une autre personne, il faut absolument mettre tout le CSS dans un fichier séparé en regroupant au maximum les attributs d'un bloc. Sur les CMS que que j'utilise, j'ai pu voir des thèmes où il y avait des CSS dans le fichier HTML et d'autres dans un fichier séparé… Et la c'est ça devient très chiant, surtout quand le concepteur a utilisé au maximum le C du CSS avec des applications de styles récursives dans tous les sens.
Après, je suis de moins en moins à l'aise avec la mise en forme des sites depuis l'apparition du "responsive" pour produire des thèmes qui arrivent à s'adapter à toutes les tailles d'écrans. On atteint une complexité qui fait que l'amateur ne peut plus guère que modifier les couleurs ou une image de fond, et que quasiment seuls les pros arrivent à modifier les autres paramètres sans casser la mise en page sur un des supports.