FWIW from a non-expert...
I suffered low speeds (< 1 Mb) for years with Eclipse Networking, and put it down to the fact that the line from my shed/office to the house is my wiring, from the house to a pole DP is BT's but looks to be decades old, and then it's miles to the exchange.
The contract was for 2Mb, I think, but it never got near to that.
Then I got fed up with Eclipse's appalling Accounts, and changed - in a fit of bad temper - to Utilities Warehouse as my ADSL (8 Mb speed) and phone service provider.
Speed rose overnight to 4 - 5+ Mb, and has stayed there ever since.
I've been told it's probably the difference in contention rate, and that this is actually the most important difference between ADSL (rather than ISP) providers. Does anyone know if that's right?