It's not ALL because the file is so huge. It has to do with how much Mb (mega BITS) your internet service provider can transfer. The thing is, Mb and MB are totally different. It all has to do with Bits and Bytes. Bits are smaller than Bytes. Bits are categorized with a lowercase b, and Bytes are categorized with an UPPER case B. 8 Mb = 1 MB. So, if you're downloading a file that is40 MB, it's going to take 5x as long, because 8 * 5 = 40. So, check with your network service provider, how much BITS you transfer per second.
Simplified Version (for non techies)
While this may seem fairly obvious, a faster internet connection results in faster download speeds.
gingerlane1 went into great detail to explain the differences between bits and bytes. Most internet service providers advertise their speeds in bits (signified by the lowercase b) instead of bytes (uppercase B)
Simple rule of thumb, 1 Mbps = 0.125 MB/s. The size of all computing files are in megabytes, not megabits.
Therefore, to actually download 1 megabyte per second, you would require an internet download speed of 8 Mbps. In theory, an 8 Mbps connection will download a 40 MB file in 40 seconds.
That also means that a 40GB game download on an 8 Mbps connection would take 11 hours and 37 minutes to download.