The speed you get on the internet depends on the distance between your provider and the server you're measuring the speed with. You get X mbps (the speed you're paying for) between you and your provider. That's the only thing they have any control over. With Spoeedtest.net, you're usually checking with a server that's pretty close, so you get close to what you're paying for. But if you're downloading from a server halfway around the world, or from a server with a slow connection, you're going to get a slow download. (I've been downloading from someone's private server for about half an hour now - at about 44kbps, even though I have a 20mbps connection.)
Rule of thumb these days is that a decent connection to a server not too far away will yield about 1mbps download speed (although downloading from a Microsoft server will do better, even from the east coast of the US). So why pay for more bandwidth? Because if you're downloading 2 files, you want 2mbps, or the downloads will be slower than they could be. If you have a few people in the house, each doing a few things, you want enough bandwidth (or speed - it's really the same thing) to allow everyone to do everything at maximum speed.
All that said, most of the not-top-of-the-line cellphones can't sustain 1mbps downloads, even on a good fast wifi connection. The CPU has to allocate space for the file, store the file as it's coming down, handshake with the server you're downloading from, create packets, disassemble packets, etc., etc., and that all takes CPU power. And a 600MHz CPU running less than 1GB of RAM just isn't going to be able to keep up at full speed. The better the phone, the closer to the available download speed it should be able to download at. But if you're downloading from a Commodore 64 located at the end of a bare telephone line in Slowdatastan, don't expect a fast download, even if you're running a supercomputer with a 3gbps connection.