what one do i need?



If you want to buy a gtx 960, go ahead. It will be compatible with your motherboard. When it come to "Will this work in my computer?" all of the 960s are the same.
 


Why is there the MSI one and the gigabyte one and other ones then what one should I get?
 
Any GTX 960 is going to be compatible with the PCI Express x 16 slot of the motherboard. It appears to be a standard mid tower ATX case. The only stipulation is to ensure that the graphics card length is shorter than the max graphics card length specification of the case.
 
There is no description of that PC's power supply, so hopefully it has an available 6-pin PCI-E connector for the video card (it should). Be *very* careful because some of the cards require a single 8-pin PCI-E power connector which most likely this PC's PSU does not have. This definitely goes for GTX 960s that have multiple fans and are factory overclocked.

This ASUS one will fit the bill: https://pcpartpicker.com/part/asus-video-card-strixgtx960dc2oc2gd5

This MSI is an even better buy, but not sure if you can find it in the UK: http://www.amazon.com/MSI-GTX-960-2GD5T-OC/dp/B00SAYDRLC
 
Nvidia makes the processors on the graphics cards but gigabyte, evga, msi, and so on actually put the circuit boards together and manufacture the coolers. Most 960s are pretty much the same for someone who isn't a GPU enthusiast. You should pick a couple brands that have good reviews and buy the cheapest one. Depending on the day, one will be the cheapest, since they're pretty much the same, get the cheapest one.