Bien qu'il y ait déjà beaucoup de bonnes réponses à cette question, j'ai pensé ajouter la mienne au cas où une différence subtile rendrait les choses plus claires pour quelqu'un.
Il était une fois, il n'y a pas si longtemps, les processeurs x86 étaient des dispositifs relativement simples. Ils lisaient des instructions en mémoire, les exécutaient et stockaient les résultats soit dans des registres, soit en mémoire. Les registres étaient importants, car ils faisaient partie de l'unité centrale de traitement, et leur nombre était très limité. C'était d'ailleurs le cas de presque tous les ordinateurs de l'époque. Ce cpu est également devenu ce que nous appelons généralement aujourd'hui un cœur (signifiant cœur de l'ordinateur).
À cette époque, les gens voulaient des ordinateurs plus rapides, il y avait donc une course entre AMD et Intel, à qui pouvait construire l'ordinateur le plus rapide, généralement étalonné par qui avait l'horloge la plus rapide. Cependant, rendre chaque porte de l'ordinateur plus rapide n'est pas la seule façon de rendre un ordinateur plus rapide. Si vous pouvez faire en sorte que votre processeur fasse deux choses à la fois, vous pouvez le rendre [presque] deux fois plus rapide. (Presque, car il y a parfois des choses que vous ne pouvez pas faire deux à la fois.)
Le pipelining est une façon (encore utilisée) de faire deux (ou plus) choses à la fois. Intel est devenu très bon en pipelining, suffisamment pour qu'AMD ait besoin d'un autre moyen d'accélérer les choses. Ils ont réalisé qu'une autre façon de rendre votre ordinateur plus rapide était de le faire apparaître comme deux ordinateurs, c'est-à-dire deux cœurs. Cela signifie effectivement que vous pouvez exécuter deux programmes à la fois, sous réserve des limites du système d'exploitation, et qu'il y ait deux programmes qui veulent s'exécuter, etc.
Cependant, cela s'avère être utile plus souvent qu'autrement. Les programmes modernes, comme votre navigateur chrome, ont appris à en tirer parti. Ils transforment un programme en plusieurs threads, chaque thread peut s'exécuter sur un cœur différent, comme s'il s'agissait de programmes séparés. Encore une fois, ce n'est pas une accélération parfaite, mais c'est assez bien.
Maintenant, core est devenu en quelque sorte une chose ambiguë, parce qu'Intel en essayant de surpasser AMD a réalisé qu'en ajoutant simplement plus de registres et quelques autres logiques, il pouvait faire qu'un core agisse parfois comme deux, en profitant des étages de pipeline inutilisés. Ainsi, un cœur "physique" pouvait agir comme deux cœurs virtuels par "hyperthreading".
Donc, le nombre de cœurs est soit le nombre de fois qu'un bloc de type Cpu est déposé sur une puce, soit le nombre de threads simultanés qui peuvent être exécutés via l'hyper-threading, ou un autre concept marketing.
Les cœurs, la fréquence d'horloge et les étages de pipeline ne sont pas la seule façon d'accélérer un ordinateur. L'exécution spéculative et l'exécution hors ordre peuvent également accélérer un ordinateur. Ces accélérations sont bien sûr impliquées dans les récentes vulnérabilités meltdown et spectre.
Selon ce que vous faites, cela peut ou non faire une différence. Je viens d'acheter un netbook à 230 $, parce que je pouvais y brancher un ssd de 512 gb, malgré le fait qu'il n'ait qu'un petit processeur bas débit basé sur l'atome avec seulement 4 cœurs. En tant que professionnel du logiciel qui écrit des logiciels plutôt que de jouer à des jeux, c'est plus que suffisant comme processeur, et l'espace disque importait davantage. J'ai une amie joueuse qui a besoin d'autant de cœurs et d'une aussi bonne carte graphique qu'elle peut avoir pour que les jeux semblent réels.