The engineering definition of latency is the time a message takes to traverse a system. Latency is closely tied to another engineering concept, throughput. While each is a measure of speed in some sense, they are not exactly the same thing. Latency is a measure of amount of time between the start of an action and it's completion, whereas throughput is the total number of such actions in a given amount of time.
To illustrate, let's compare the transatlantic flights of a jumbo jet airplane and a supersonic passenger jet. The jumbo jet carries 1000 passengers but each trip requires 10 hours, while the supersonic jet is limited to 50 passengers with a flight time of only 2.5 hours. In this example, the jumbo jet effectively transports 100 passengers each hour it is in flight (throughput), but every passenger is stuck on the plane for the full 10 hours (latency). In contrast, the smaller plane averages only 20 people each hour, but those people enjoy a much shorter trip.
Both latency and throughput have a dramatic effect on the design telecommunications and computing systems, because improvements in one aspect often come at the expense of the other. For most operations, such as transferring files on your computer, throughput is the most important measure, because such operations aren't complete until all of the data has been transferred. On the other hand, the control system for the brakes on a car only needs to send a little bit of information (on or off), but that information needs to be sent with the shortest delay possible.
For computer music latency is extremely important. Latencies higher than 100 ms make working with a real time music program non-usable. Recently people have created JACK, which can provide for latencies like 1 ms.
See also rotational delay, which is another form of latency.