Mulithreading At its most basic the i7 gives you 8 threads, same as an AMD 8 core, so same threads + quicker ipc = upgrade path.
I7 Hyperthreading uses unused CPU cycles to present a second virtual thread for each physical core. So while I7 has 8 threads they are most useful when running heavily threaded processes and the CPU is not being maxed out. Once the CPU becomes maxed out HT is less effective. Admittedly this will be most scenarios but there will be a few scenarios where a process is maxing out more than 4 threads. In this scenario the hyperthreading is less effective and the I7 will behave more like a maxed out I5.
There is no doubt that the I5 and I7 have far better IPC than the FX8 and the HT on the I7 is certainly a great thing to have. But a maxed out 8 thread process on an FX8 will actually be faster than the same scenario on an I5/I7 because the Intel would only be able to use 4 cores to support those thread.
The Intel is more performant in most scenarios but not all and for £107 the 8320 is an absolute bargain if your use case is likely to heavily use more than 4 threads.
EDIT: Let's assume for now that the FX8 is 60% the performance per core of an I5 (it's probably much better than that and I've just plucked that random figure out of thin air for this scenario below):
I5 Core 1 = 100 units of work
I5 Core 2 = 100 units of work
I5 Core 3 = 100 units of work
I5 Core 4 = 100 units of work
I7 Core 1 = 100 units of work
I7 Core 2 = 100 units of work
I7 Core 3 = 100 units of work
I7 Core 4 = 100 units of work
I7 Thread 5 = only uses spare capacity from core 1
I7 Thread 6 = only uses spare capacity from core 2
I7 Thread 7 = only uses spare capacity from core 3
I7 Thread 8 = only uses spare capacity from core 4
FX Core 1 = 60 units of work
FX Core 2 = 60 units of work
FX Core 3 = 60 units of work
FX Core 4 = 60 units of work
FX Core 5 = 60 units of work
FX Core 6 = 60 units of work
FX Core 7 = 60 units of work
FX Core 8 = 60 units of work
In the above scenario the I5 and I7 will win in lightly threaded scenarios or heavily threaded but light usage scenarios (4 x 100 = 400) but not in heavily threaded scenarios where the CPU is maxed out (4 x 100 = 400 for Intel but 8 x 60 = 480 for the FX). Once again the "100" and "60" is just a made up number but should demonstrate how the FX can win in some circumstances, for less money.
If it were my money I would buy:
I5 for purely gaming on a budget, especially older games which will be lightly threaded.
I7 for gaming and other heavier workloads (video manipulation etc) where budget is less of an issue.
FX8320 for budget gaming and heavier workloads where budget is important.
The other benefit of the 8320 is that it supports hardware virtualisation and overclocking out of the box. For intel you have to choose:
I5 : Only 4 cores and 4 threads
I7 K : 4 cores, 8 threads and unlocked for overclocking but no hardware virtualisation
I7 non-K : 4 cores, 8 threads and hardware virtualisation but not unlocked so no overclocking
FX : 8 cores, 8 threads, unlocked for overclocking and supports hardware virtualisation extensions.
I'm not denying that the I5 and I7 is the better chip but when people suggest that the AMD is not competitive I really don't agree. For a really cheap chip it gives you everything that most people would need including "acceptable" gaming performance even if not the best.