The differences between mobo's comes down to 2 things - which CPUs it supports and what the features are included on the mobo. First CPU support. Intel's 100 series chipset supports Skylake (6th gen CPUs, i.e. ix-6yyy). While the 200 series chipset supports Kaby Lake CPUs (7th gen, ix-7yyy). However, the 100 series chipset can be used for Kaby Lake CPUs if the BIOS is updated. The label on the outside of the mobo box should list the BIOS version.
As I said previously, the GA-B150M-D3H BIOS version needs to be F20 or greater to support a Kaby Lake CPU. To avoid this issue entirely, you can buy the GA-B250M-D3H. It's essential the same mobo as the B150, but it's updated with the 200 series chipset for Kaby Lake. Then, you don't have to worry about the BIOS issue. I'm just trying to save you a lot a grief from building a system that won't boot. That said, the B250 mobo may be a little more expensive than the B150 mobo. But, you're buying the exact same features with a chipset that is made to work with an i5-7500.
Now on to the different mobo's. The difference between B250, H250, Q270, Z270, etc are the features, such as number of PCIe lanes, number of sata ports, number of M.2 ports, USB ports, overclocking capability, etc. That's why I noted that you could use a GTX1080, on a B250 mobo. It would certainly work, but it's not an optimized solution. For a system with an i5 CPU and a B250 mobo, it would work well with a GTX1050 or 1060 GPU.
I hope you find this helpful in finalizing your component choices.