i work for a UK based ISP in network support, so bare a few things in mind.
O2 is not unlimited, there is a fair usage policy. It is in the small print and is clear on the website. If you use p2p or torrent downloading or anything excessive to the point were they feel it will affect other users ( which is surprisingly small), you will either be traffic shaped for speed or have ports blocked, and possibly account suspension.
Currently all UK based ISP's virgin excluded require a BT phone line, although you can have the phone supplier be otherwise, talktalk for example.
BT provide ADSLmax which is a rate adjustable best effort service, dependent on line length and condition. Sites like samknows can provide straightline estimates from the exchange but your physical BT line could take a wildly different route. Unless you are sub 2km line length from the exchange, you will NOT get 8mb. Even closer lines that are in poor condition can struggle. Remember it is an UP TO *mb service. If you cannot get close to 8mb, why pay for UP TO 16mb?
Some ISP's however have LLU enabled exchanges. This is local loop unbundling. This means they have their own DSLAM in the local exchange which bypasses BT's ATM cloud and they can essentially provide higher speeds, but again these are highly dependent on the length of your line.
If anybody wants to know the physical length of their line or if you have any questions or queries im more than happy to help diagnose and resolve any speed issues etc. Simple things around the home can be done to often dramatically increase your line speed.