From what I understand, the number of cores is a product of manufacturing, so the die is set at say 12 cores but only 10 of those test as good, so they sell it as a 10 core machine. I think the 7 core is just a 8 core die that has one bad core on it.
It's easy to think that we should just make massive chips that are super powerful and with hundreds of cores, but that isn't possible. Currently, the single biggest factor preventing us from making bigger and bigger chips are defects in the manufacturing process. Modern chips have billions of transistors and if a single part of one is broken, the whole chip may need to be thrown away. As we increase the size of processors, the chance that a chip will be faulty increases.
The actual yields that companies get from their fabrication processes are closely held secrets, but anywhere from 70% to 90% is a good estimate. It is common for companies to over-engineer their chips with extra functionality since they know some parts won't work. For example, Intel may design an 8-core chip but only sell it as a 6-core chip since they estimate that one or two cores may be broken. Chips with an unusually low number of defects are usually set aside to be sold at a higher price in a process known as binning.