If you are on wireless, the distance between your router and computer, or access point and computer depending how your network is set up, may be too far, or going through too many obstacles, walls are a bit of a speed killer for wireless networks.
If that is the case, getting a better router, preferably range max, should work that out and a better NIC wouldn't hurt.
Your ISP should provide you with a better router, otherwise you can have them for false advertising, because, unless their ToC say otherwise, you should be getting a permanent connection wirelessly with the hardware they supplied you with, otherwise you are not getting the service you are paying for.
If it is wired, or maybe if it is wireless, it could be a problem on your ISP's end, be it with too much traffic, they are performing maintenance or upgrading. It could be at the main server or at your exchange and they can't really do anything to fix that other than hurry up, so other than calling to ask, you can't do anything about that problem