Downloading through your browser is a task fraught with pitfalls, especially when downloading large files — often resulting in the annoying broken download.
A broken download is one that stops before the download is actually complete, and there's more than a few causes of this annoying issue.
The first and biggest is most likely your Internet connection, and is mostly related to latency. But let's back that truck up a bit, and explain a few concepts around your Internet connection.
Mostly you hear ISPs these days talking about speed — 56k, 256k, 512k, 1.5mbit, 24mbit. This isn't really the speed of your line, it's actually the bandwidth — think of it as the capacity of your lines. It's how much data you can theoretically jam down in one go. At the 56k end of the line, picture the storage capacity of a scooter, if you will, and at the 1.5mbit side, a station wagon.
The second aspect is called latency. This is how long it takes a remote server to respond to a request from your local machine, or using English, the delay between your request and actually receiving data. To take the vehicle analogy further, take our scooter and station wagon above, and give them both a job to deliver 100 pizzas (data) over 100km. Both are perfectly capable of travelling at the same speed, but they have different storage capacities.
The station wagon receives the call, and drives all 100 pizzas in one go to the destination. Once the pizzas have arrived the order is checked to make sure it's okay, and if the order is correct, it's done its job.
The scooter on the other hand can only pack four pizzas in per trip. It receives the initial call, then takes the pizzas to the destination, checks that everything is in order, rides back, checks the remaining order, loads up and takes the next four pizzas, and so on until the job is complete. The time it takes to travel the distance is known as the latency. Even if both the scooter and the station wagon travel at the same speed, the station wagon has higher bandwidth, meaning that it only has to do the trip once, as opposed to the poor scooter, left to do the journey 25 times — thus in terms of the total job, it appears quicker.
To add another problem into the mix, the connection between your computer and the server will never be direct. You'll actually be bounced through a number of other computers (called hops — we were tempted to say petrol stations, but honestly, it's already gone too far!), before you reach your destination, each hop adding to the overall latency. Latency can also be affected by the quality of the connections between all the hops in your route to the server — and since all these wires, computers and networking equipment may be owned by several different companies all around the world, you can see how it might be difficult to troubleshoot!
High latency can cause issues with downloading — if a server doesn't receive confirmation that you've received data after a certain amount of time, it "times out", and stops sending data to your computer — resulting in a broken download.