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.