So if one website can give you your speed and one cannot, then its clearly not your provider that is the issue.

IF you buy a 200 MPH mazzerati and then drive it down a 20 MPH school zone when the kids are getting let out how fast can it go? About 20, maybe 25 if you hit it right but traffic and the limited road will stop you getting anywhere near 200 MPH.

If you pay for 50 Mbps and download from a server that can only send at 10 Mbps and then lets multiple users download from it at once, what are you gong to get for your speed?
10 / number of current users is a rough estimate.

Also often downloads are measures in MB/s and not Mb/s the difference is one is bytes one it bits, so they are different measurements, the case of that B is very important. 5 MB/s is pretty damn good considering it is roughly 8x5 or 40 Mb/s. Not 50Mb, but closer than it look upon your initial post if this is the case.