Dingary :
If you want to use skylake in cheeper, I5 6500 is good choice
6400 is 3.3ghz low clock but 6500 is 3.6ghz
Sort of...
Keep in mind the 3.3GHz for the i5-6400 is a max turbo value. It will drop the frequency by roughly 100MHz for each core so under full load it might be only about 3GHz.
There are ways you can TWEAK that in the BIOS (manually set core frequency for all cores to turbo to 3.3GHz) but I don't know if that's possible in all motherboards or any of them as I don't have any to test.
(My i7-3770K is overclocked, with speedstep so it dynamically lowers voltage and frequency as needed, but I manually set the TURBO values to 4.1GHz when all cores are used and tested to see if that works; 4.3GHz single core. As an aside, the Intel CPU diagnostic keeps forcing my CPU to 3.5GHz. Weird. I actually have to reboot. But using Prime95 shows it stays at a recorded 4.07GHz)
Same goes for the i5-6500, but it's just a bit faster.
(there's been discussion of ways to overclock Skylake I believe but after reading about that I'd just NOT do that. Asus does not offer that either, and I think certain states get disabled if you do so it's complicated and stability is not certain)
The i5-6600K should overclock to at least 4.4GHz (I err on the side of stability), and probably you can tweak to NOT drop below that on full load (as I discussed above with the Turbo scaling).
So the i5-6600K vs i5-6400 we'll say 4.4 vs 3.3GHz, which is a 33% advantage to the i5-6600K which can make a noticeable difference in gaming for demanding games.
(if you don't or can't tweak the i5-6400, and CAN overclock the i5-6600K to 4.6GHz then as a worst-case difference you're talking 4.6GHz vs 3GHz under full load. Or 53%. So tweaking the CPU BIOS settings and choosing the correct CPU for you is pretty important.)
Starcraft 2 for example only uses two cores and even the fastest CPU you can buy will dip low periodically once lots of stuff is going on.