the law of diminishing returns can deal with as you increase the number of cores, you don't get proportionally more performance. think about sli or crossfire. when you have two cards, is it twice as fast as one? ... no. when you have 3 cards is it 3 times faster than one or 50% faster than two? ...no. there is a similarly for cpus, but the affect isn't as larger in good code. this is because there is an overhead associated with creating the threads and this doesn't increase linearly.
to use brian's car analogy, the overhead is like every car towing a trailer with each trailer being bigger than the last one(Car1's trailer is the smallest, car2's trailer is bigger than car1's, car3's trailer is bigger than car2's,...). the bigger the trailer is the more the car slows down like car1 going at 2.6mph, car2 going at 2.5mph, car3 going at 2.4mph,... in very good code the starting size is small and doesn't increase much, so it is very close to porportionally faster. like car1 going at 2.6mph, car2 going at 2.5999mph, car3 going at 2.5998mph,... server code tends to be well written for a lot of cores(4+), so going with the quad core is your best bet.