There are really two reasons that cores haven't shot up. The increasing reliance on mobile devices means that power efficiency trumps raw processing grunt for most people, there's little point having the ability to process huge amounts on your laptop if doing so kills battery life.
And from the software side of things, developers still struggle with making effective use of multiple cores/processors. It just fundamentally requires a significant amount of hard work to understand and structure code such that the benefits are noticable without introducing new and hard-to-resolve bugs. Most devs are still just waiting for it to all happen automagically, even though that's unlikely to occur in any reasonable timescale if at all, as can be seen even in the comments in this thread already.