My speed varies greatly from one host to another ?
All hosts on the Internet are not equal... It all depends on your ISP's backbones, and their peering arrangements with other companies.
For example, one site might be just a few nodes away, on your ISP's main backbone. Traffic is much cheaper for your ISP, and naturally they have much more bandwidth available on their own backbones. The effect is similar with small ISP's, who lease a single line from one provider - the throughput is usually higher to hosts that are closer.
Other hosts, on the other hand might be cross-country and the path uses congested backbones from different providers, with which your ISP has peering arrangements, and your speed will vary greatly. Cheaper bandwidth might be assigned lower priority, will experience higher latency, travel over congested paths, more likely to experience packet loss, etc. In theory, each packet can travel on a different path, depending on the current line conditions and how routers forward it.
In practice, residential customers usually get much higher throughput from their ISP's local hosts (and online speed tests), than hosts many hops away, over different backbones. Sometimes, it is also possible to get an exceptionally good throughput from a lightly used path, even if it is far from you, simply because of the dynamics of the network traffic at the time.
A traceroute usually provides a good feel of how many hops the path to a host is, what is their latency, and how it increases with each node on the path. It also shows what hosts are on the path to your destination.