Hyperthreading (running two threads in one physical core) works by letting the second thread use parts of the core which aren't being used by the first thread. But the thing is, if a computing task is CPU-bound, it's usually because a specific part of the cores (say, the floating point arithmetic unit) is being fully used. The second thread won't be able to use that part of the core because the first thread is already using it, so there's little to no benefit to running a second thread on the core.
So for hyperthreading to be effective requires a very diversified task set where different threads need different parts of the CPU simultaneously. In terms of common real-life tasks, this happens most often in video encoding/rendering, and data compression. If you do these tasks a lot, the hyperthreading on the i7 is definitely worth it. Some of the newer games can effectively use hyperthreading, but you really need to check on a game-by-game basis because other games won't even use all 4 cores.
Outside of these real-life tasks, you're going to see limited benefit from 4 cores + hyperthreading vs just 4 cores and no hyperthreading. Maybe about a 10%-20% speedup, instead of 50%-70%. And the extra $100 cost of an i7 over an i5 would be better spent buying a faster i5.