Speedtests show what you get to a particular tester. They may go slower than the maximum your line can take for various reasons. (1) things wrong in your local network (eg using a wireless connection). (2) congestion at the exchange or somewhere else along the route to the test server. (3) Inability of the server to go fast enough; maybe because of heavy load. Obviously, (1) will effect all speedtesters, (2) may affect some more than others, and (3) will be specific to each. Thinkbroadband seems to suffer from (3) on download tests for FTTC, and the BT testers suffer badly on upload tests for some reason. (2) and (3) happen much more at peak traffic times; e.g. often early evening.
It is sometimes possible to get high overall speeds my using multiple threads all working in parallel. Some downloaders do this automatically for large files; most speedtesters don't.
There are always slight inaccuracies in tests anyway. These can be made worse by odd buffering effects in local software. For example, the Kaspersky AV used to buffer things up in such a way so that it could check virus as data arrived. This somehow confused some speedtests enough that people often got readings more than 10 times faster than their lines could really manage. The Thinkbroadband speedtest never suffered from this as far as I know.
There are various overheads in transmission that means extra data has to be passed that is not 'user' data: for example every packet needs to have an address to tell it where to go. These overheads account for differences between the 40 on the engineers meter, 38.72 max acceptable speed, and probably some of the 36.4 difference (the rest coming from 1/2/3 above).
Overall, speedtesters are a useful guide, especially if things go really wrong, but don't worry too much about the details.
Moved (with trepidation) to BT Infinity 2 for upload speed. Happy BE user for several years.