Phoneline conditions have a large effect on how fast and reliable of a connection speed is attained and maintained as the call continues on. If poor line conditions are evident, connection speeds will often be lower to ensure a greater probability of attaining a reliable connection. Due to poor road conditions, you'd drive slower to ensure a greater probability of arriving safely. The distance between your modem and the phone company can also have an effect on connection speeds. This is commonly attributed to line noise, faulty wiring, poor quality modems, and sometimes modem firmware problems.
Faulty wiring can definitely cause disconnects and inconsistent connection speeds.
If a phone wire has a short in it somewhere and different wires are touching eachother, all sorts of irregular behavior will occur, sometimes preventing you from connecting, while at other times, allowing you to connect at varying speeds, usually followed soon afterward by being disconnected. One way of finding out what the traffic is like between you and the remote computer, is by running a program called Traceroute . Traceroute displays delay-times between the various computers and routers between you and the remote computer. Generally speaking, the more geographical distance between you and the remote computer, the longer it can take for data to traverse. This can be a result of greater network traffic or more routers along the way, slowing data transfers down.