Hello @OXhaet 
Quel est la différence entre ces 2 types de fichiers?
En fait, un fichier « Cocoa Touch Class » est en réalité un fichier « Swift File ».
La différence vient du fait que le fichier « Cocoa Touch Class » nous fait gagner du temps car il est déjà pré-remplis pour ce que l’on veut faire.
Par exemple, en créant un fichier « Cocoa Touch Class » pour un ViewController, le fichier hérite déjà de tout ce qu’il faut pour qu’il soit considéré comme un ViewController. Mais tu pourrais tout à fait le faire manuellement en créant un fichier « Swift File » et en lui disant toi même ce dont il hérite etc.
Au final, je pense que c’est plus une question de gain de temps.
Quand utiliser l’un plutôt que l’autre ?
Généralement, quand on souhaite créer un fichier qui va être utilisé par l’interface graphique (du genre ViewController et ses dérivés (TableViewController, etc)), on passe par un « Cocoa Touch Class », alors que lorsqu’on a besoin de créer une classe qui ne fait pas référence à l’interface graphique (une classe, un manager, etc), on préfère un fichier « Swift File », puisque ce fichier n’a pas besoin d’hériter de quoi que ce soit au préalable.
Les autres confirmeront (ou pas) ce que je viens de dire, mais c’est comme cela que je vois les choses, et comme cela également que je m’y retrouve. 
Est-ce que “Cocoa Touch Class” a quelque chose avoir avec Cocoapods …
Mmh, pour cette question, je ne suis pas sur, mais j’aurai tendance à dire que ça n’a rien à voir réellement, dans le sens où Cocoapods est un gestionnaire de package, alors que les « Cocoa Touch Class » sont des fichiers, donc je pense que les « Cocoa Touch Class » étaient là avant, créés par Apple, puis que des devs externes ont créé un outils portant ce nom là (mais je peux me tromper, @mbritto saura t’en dire plus je pense).
Voilà voilà, en espérant t’avoir aider 
Si tu as d’autres questions, n’hésite pas, il n’y a aucune question naïve ou idiote, que des questions pour évoluer et apprendre ! 
Bonne journée,