Well, if you arent doing anything that benefits from a couple of extra cores, why would you need an i7? Would that not seem like a "sidegrade" as well then? Yes, an i7 would be nice, but I think a 6500 or 6600k is an adequate compromise, while I would hesitate to recommend an i3 at all for a gaming rig.
And buying a cheap processor and upgrading later never did make sense to me. If you buy an i3 and upgrade to an i7, you will be spending 500.00 for the two processors, twice what an i5 would cost.
The i7 has faster single threaded performance at equivalent clock speeds over i5 and i3. That's one reason. Another is that if you're upgrading from an i3 or Pentium Gxxxxx the jump to i5 would be hard to notice in most cases. And chances are you might LOSE single threaded performance, say going to a 2.7 ghz i5 instead of the 3.7 ghz power of the i3.
Also, some people have a limited budget and can only spend so much at first to build a system. It's not hard to slap together $400 for a platform/case/psu. With an i7 to start, that figure suddenly is $600. But once that $400 system is built, you're up and running and can set aside some cash here and there and eventually upgrade. That is more appealing for many folks over having NO computer for a few more months.
Also, old CPUs can be sold and offloaded to secondary machines.
I do agree in principle that it's best to buy as much as you can get at first and avoid upgrading down the road. But in reality, many people need something in the short term and can only finance higher-spec components over time. I appreciate that everyone is in a different situation and various constraints make upgrading a reasonable way to have hardware you need and eventually transition into hardware you want.
I personally went from i3 to i7 out of pure desire, not need. I could have afforded an i7 at first but my thought process at the time was I wouldn't game and wouldn't need all the extra oomph of the i7. I still don't _need_ any of it but I decided that I wanted the i7 for a few reasons. Things change. DOOM came out. I got a GTX1070. I realized that I could benefit from more cores with my workload, but I'm a unique case. Plus I had a need to build a low-cost box for a family member and it was easy to justify yanking the i3 and using it for that if I was upgrading my main box with an i7. The same process led me to go from 8 to 16 gb to 24 gb in my main machine, swapping 2 banks with 8gb chips from 4. Now I have a spare 8gb for that secondary machine I'm building with the extra i3. See? Upgrading can produce new computers. Can't argue against that!