Can be a combination of things:
(presuming it's dialup)
1 - wrong / poorly written modem drivers
2 -poor quality phone connections
3 - very long telephone connections
are just three.
Give some details of your setup.
I had a dialup modem on win2k that always reported at 31,000 but seemed just as fast as my laptop reporting 48,000.
The figure quoted isn't always accurate.