Hi, I'm making a choice between two laptops. The specs are mostly identical, but one has a i7 6700HQ, and a 1000gb HDD, while the other one has i5 6300HQ, and in addition to 1000gb HDD, a 128 gb SSD. The price is almost the same. I mostly intend to use the laptop for casual gaming and schoolwork.
Adding a 128 GB SSD is pretty cheap, most of it is time spend moving the files over. If you don't mind adding in or swapping for an SSD, get the i7 one. If you don't want to do anything with the system aside from get it and use it, the i5 may be better. Both CPUs will be fine for years of use without feeling slow.
Other than clockspeed (max of 3.2GHz vs 3.5GHz when only one core is being used) the difference between an i5 and i7 is that the i7 has Hyper Threading (HT) which means each CPU core can process 2 threads of instructions instead of just one. It simulates an 8 core CPU, but the performance is much lower if the i7 actually had 8 real cores.
To the best of my knowledge, the vast majority of games do not make use of HT. The only current game that I know of is Overwatch. There was a space combat simulation game back in 2012 / 2013 that could also make use of HT, but that game bombed due to a lot of bad reviews. As far as schoolwork, HT is likely not useful unless your major is in engineering, architecture, science or any other major that requires you to software that has been designed to make use of HT such as CAD, video editing, and game development
You can upgrade the SSD, but you cannot upgrade the CPU. A 128GB M.2 SSD will probably sell for around $80, though I personally would not consider anything less than a 256GB SSD.