Both the i7-4790K and the i7-6700K have very similar profiles, both have:
- a base clock of 4GHz
- 4 Cores / 8 Threads
- 8MB Cache
- Support for SSE4.1/4.2, AVX 2.0 Instruction Set Extensions
However, there are also slight differences in:
- the system bus architecture: DMI3 @ 8GT/S (i7-6700k) vs. DMI2 @ 5 GT/s (i7-4790k)
- Boostclock: 4.2 GHz (i7-6700k) vs 4.4 GHz(i7-4790k)
- supported memory type: DDR4 (i7-6700k) vs. DDR3 (i7-4790k)
- memory bandwidth: 34.1 GB/s (i7-6700k) vs. 25.6 GB/s (i7-4790k)
- max. memory size: 64GB (i7-6700k) vs. 32GB (i7-4790k)
- integrated GPU: Intel HD 530, DirectX 12 (i7-6700k) vs. HD 4600, DirectX 11.2 (i7-4790k)
That being said, the performance difference one can expect between those CPUs is rather low. Though both have certain advantages. The features that will make the biggest difference between those CPUs are the considerably faster memory bandwidth of the i7-6700k vs the higher boost clock of the i7-4790k. So in practice, one can expect the i7-6700k to outperform the i7-4790k where memory bandwidth is crucial, whereas the i7-4790K will have slight advantages in applications requiring high single core compute performance - single core because that is the scenario where the CPUs will reach their highest boost clock.
Now to your questions:
1. Why is the benchmark slower?
The benchmark is slower because it seems to take advantage of the i7-4790k's higher boost clock rather than the i7-6700k's higher memory bandwidth.
2. Is 6th-gen actually slower?
As I explained above, this totally depends on the application. If you look at these results, you'll see the i7-4790k outperform the i7-6700k in some applications, where it's the other way around in other applications. But the most important observation you should take away from those results is:
In practice, there is not much of a difference in speed unless you're actually in need of very high memory bandwidth and overall memory size. For most homeusers, 32GB of RAM will likely be enough though.
3. Why would someone choose 6th-gen if 4th-gen is faster and cheaper?
Someone should definitely get the i7-6700k if he needs more than 32GB of RAM or is using applications relying heavily on memory bandwidth or wants certain features that are available only on newer mainboards.
If those advantages of the i7-6700k are not of use to you and the i7-4790k is considerably cheaper, you just might want to buy the i7-4790k, you will not notice a difference.
There is one more thing to consider, if you're into overclocking. The i7-4790k draws its advantages over the i7-6700k mainly from the higher boost clock. Rumors say that Intel has improved the thermal compound between die and heatspreader of newer CPUs. If this actually results in better heat dissipation for the i7-6700k, you might achieve higher overclocking rates with the newer CPU, causing the i7-4790K to fall behind the i7-6700k in its most important advantage - the higher boost clock. Still, the differences between both CPUs will be very small to not humanly noticeable.
Best Answer
It's not possible to say without knowing the specific processors. I'd suggest, an 8th gen i5 may be twice as powerful as a 4th gen, but it really varies hugely based on variant. I can point to 4th gen i5s which are way more powerful than 8th gen ones (e.g., a laptop low-power 8th gen vs. a gaming system 4th gen i5)
A good rough guide is to search both CPUs in passmark.com site and use their scores as a relative indication of power.
Be aware that i5 is little more than branding - plenty of i3's outperform i5 CPUs where they are models with faster clock speeds.
TDP has to do with heat dissipation - lower values mean more energy efficient (and less powerful). Clock speed, very loosely, gives an indication of the performance for a task that can't be broken up, but is less of a valid comparison between generations. Threads/Cores represent the number of tasks that can be processed simultaneously.