There are two aspects to speed, data rate (often called bandwidth though that is confusing) and latency. Both can have an impact on the time taken to complete actions (viewing webpagages, typing characters in a remote terminal, downloading files etc).
Data rate is how much traffic the connection can carry per unit of time. Latency is how long it takes a packet of data to get from one end to the other. Normally we measure latency in the form of round trip time since measuring one-way latency is tricky and usually fairly irrelevent.
As a rule of thumb latency will dominate the performance for actions that only involve a small ammount of data while bandwidth will dominate the performance for actions that involve a large ammount of data.
Latency can roughly speaking be divided down into processing delays, queueing delays and cable delays. Cable delays do increase with distance but the delay from the cable that forms your "internet connection" is likely to be small compared to delays further back in the network. Processing delays on some forms of DSL can be significant due to interleaving. Processing also tend to be higher on low-datarate links as often a complete packet must be received byfore it can be forwarded.
The achiveable data rate depends on the Characteristics of the cable. As a cable gets longer the signal integrity (for a given signal launch power) will get worse and so the achivable data rate will go down.
Some technologies (notablly modern DSL) are rate-adapative. They will tailor the charateristics of their signal to match the observed performance on the line. Other technologies use fixed modulation parameters and will start dropping large numbers of packets and then fail completely if the signal integrity is too poor.