I have been getting disconnected frequently (every few minutes) and banging my head against a wall trying to figure out the problem. Like most ppl, I straight away thought "damn ISP, it has to be them". After a few days I have done a few simple things to resolve the problem.
1. Use Ferrite Cores (info: http://computer.howstuffworks.com/question352.htm)
Basically, cables make great antennas picking up all sorts of interferences like tv and radio signals. A Ferrite Core attached to the end of the cable (closest to the destination) will help reduce these interferences.
2. Try and avoid the phone cable passing by other electrical devices
Computers, Tv, consoles, microwaves etc, all can interfer with the analogue signal travelling to the modem.
3. Avoid running the phone cable beside other cables
Cables are not only good for picking up signals, but can also transmit them. Running a transmitting cable next to the phone cable can cause problems.
4. A single device can cause faults
This was my problem. After trying the above and STILL being disconnected, I tracked the fault to an (its a weird one), external HDD. I would never have guessed a small device like that was causing the problem, but once it was turned off, my disconnections ended. Never underestimate the interfernce of a single device.
5. Use the primary phone jack
Usually the phone jack closest to the road is the primary jack. This jack will have a cable directly to the phone network and thus lower interference than other jacks (that may cross tv cables and power cables many times). Remember that the signal into the modem is analogue and can be interfered with, while the signal to the computer (if wired) is digital and not as easily interfered with.
If you are getting disconnected alot, don't instantly blame your ISP because it may be something in your home causing all your problems.