Aunque ya hay un montón de buenas respuestas a esta pregunta, he pensado en añadir la mía por si alguna sutil diferencia se lo aclara a alguien.
Hace tiempo, no hace tanto, los procesadores x86 eran dispositivos relativamente sencillos. Leían instrucciones de la memoria, las ejecutaban y almacenaban los resultados en los registros o en la memoria. Los registros eran importantes, porque formaban parte de la cpu, y había un número muy limitado de ellos. Por cierto, esto era así en casi todos los ordenadores de la época. Esta cpu también se convirtió en lo que ahora generalmente llamamos núcleo (que significa corazón del ordenador).
En esa época la gente quería ordenadores más rápidos, por lo que hubo una carrera entre AMD e Intel, para ver quién podía construir el ordenador más rápido, normalmente evaluado por quién tenía el reloj más rápido. Sin embargo, simplemente haciendo cada puerta en el ordenador más rápido no es la única manera de hacer un ordenador más rápido, Si usted puede hacer su cpu hacer dos cosas a la vez, usted puede hacer que [casi] el doble de rápido. (Casi, porque a veces hay cosas que no se pueden hacer dos a la vez.)
El pipelining es una forma (aún utilizada) de hacer dos (o más) cosas a la vez. Intel se hizo muy bueno en el pipelining, lo suficiente como para que AMD necesitara una forma diferente de acelerar las cosas. Se dieron cuenta de que otra forma de acelerar el ordenador es hacer que parezca que son dos ordenadores, es decir, dos núcleos. Eso significa efectivamente que puedes ejecutar dos programas a la vez, sujeto a los límites del sistema operativo, y a que haya dos programas que quieran ejecutarse, etc.
Sin embargo, resulta ser útil más a menudo que no. Los programas modernos, como tu navegador chrome han aprendido a aprovechar eso. Convierten un programa en muchos hilos, cada hilo puede ejecutarse en un núcleo diferente, como si fueran programas separados. Una vez más, no es una velocidad perfecta, pero es lo suficientemente buena.
Ahora, el núcleo se ha convertido en algo ambiguo, porque Intel al tratar de superar a AMD se dio cuenta de que simplemente añadiendo más registros y alguna otra lógica, podría hacer que un núcleo a veces actuara como dos, aprovechando las etapas de la tubería no utilizadas. Por lo tanto, un núcleo "físico" podría actuar como dos núcleos virtuales por "hyperthreading".
Así, el número de núcleos es el número de veces que un bloque similar a una Cpu se coloca en un chip, o el número de hilos concurrentes que se pueden ejecutar a través de hyper-threading, o algún otro concepto de marketing.
Los núcleos, la velocidad de reloj, y las etapas de tubería no son la única manera de acelerar un ordenador. La ejecución especulativa y la ejecución fuera de orden también pueden acelerar un ordenador. Esos aumentos de velocidad están, por supuesto, implicados en las recientes vulnerabilidades meltdown y spectre.
Dependiendo de lo que estés haciendo, puede o no hacer una diferencia. Acabo de comprar un netbook de 230 dólares, porque podía conectar un ssd de 512 gb en él, a pesar de que sólo tiene un pequeño procesador basado en atom de baja velocidad con sólo 4 núcleos. Como profesional del software que escribe software en lugar de jugar, eso es más que suficiente cpu, y el espacio en disco importaba más. Tengo una amiga jugadora que necesita tantos núcleos y tan buena tarjeta gráfica como pueda conseguir para que los juegos parezcan reales.