Here is a key issue: Our twisted-pair copper local loop infrastructure has longer local loops:
Because we have longer local loops, DSL speeds are always going to be slower than countries with shorter local loops. For example, loops over 3km are never going to see 10 Mbps DSL:
Why does the US have such long local loops? This is a question I don't have a good answer to. I do not believe it is just that the US is more rural, as I have heard complaints about 3 km local loops in fairly urban areas. Australia also has lots of rural areas, but it has shorter local loops on average.
It is possible that it is because the US adopted electronic telephone switching before other countries, and/or perhaps there were stronger forces driving Central Office consolidation. You can imagine that with 4 km local loops, one CO can serve the same area as 7 COs with 1.5 km local loops. Thus it is more efficient for telephony to have fewer central offices and longer local loops, but it turns out to be bad years later for DSL.
Because of this, the highest speed broadband in the US is going to be dominated by cable (DOCSIS), Fiber to the Node (FTTN), and Fiber to the Home (FTTH), in order of expense and speed. But a lot of people are cheap, and like DSL. Plus DSL runs on telephony infrastructure that is already run almost everywhere, while the other faster technologies need newer build-outs. So this structural difference will likely keep US average Internet speeds down even while higher speed services like 1 Gbps FTTH Google Fiber is being deployed.
There also is a competitive issue - the slow DSL reduces the pressure on alternative connectivity mechanisms to deliver faster service.
That said, Americans are getting faster average Internet speeds over time, now doubling every three years. Here is a graph based on data from The Akamai State of the Internet Reports: