matt4x4 :
That clears a lot up for me. If the Z170 has 20 x 3.0 and the H170 has 16 x 3.0, what does that mean?
Yeah, so this involves an extra layer of complexity...
Skylake and preceding Intel CPUs offer two sources of PCIe Lanes, one set from the CPU itself, and a second set from the chipset (can be Z170, H170, H110, B150, etc).
CPU Lanes: With Skylake Desktop (the standard LGA 1151 models, not any future HEDT ones that go in future LGA 3647 mobos) the CPU provides 16 x PCIe 3.0 lanes. To add to confusion, the chipset determines whether these lanes can be split into two x8 lanes, or even a x8 and 2 x4 lanes (for Z170 & Q170), or whether all 16 lanes are tied to a single x16 slot (H110, B150, Q150, H170).
Chipset Lanes: Are totally dependent on the chipset. So Z170/Q170 provide a full 20 x PCIe 3.0 lanes from the chipset, H170 drops four to offer 16 lanes, B150 and Q150 drop these further to 8 and 10 lanes respectively, and H110 drops this to a lowly 6 lanes of PCIe 2.0 (not 3.0... half the bandwidth).
The only other things worth mentioning are that the chipset lanes have slightly higher latency, so for ultra latency dependent hardware (i.e. GPUs), CPU lanes are preferred.
Further, all motherboards will already use a bunch of those Chipset PCIe lanes for SATA ports, USB ports, onboard audio, LAN, M.2 slots, etc, etc... just about every "onboard" piece of hardware runs of those chipset PCIe lanes. So you don't have access to all of them, and only a few would actually be left over for PCIe slots.
Finally, and probably most significantly, with all Skylake Chipsets the chipset PCIe lanes cannot be "combined" into any more than x4 lanes. So you can't get a x8 or x16 slot (or device) from the chipset lanes.
There are a load of other random limitations/associations too, but I've rambled on enough already... check out this from Anandtech if you want more info on HSIO Ports and Chipset PCIe lanes in Skylake:
http://www.anandtech.com/show/9483/intel-skylake-review-6700k-6600k-ddr4-ddr3-ipc-6th-generation/5