The LoadAverage is calculated by the average number of processes in the run queue over some period of time (1 minute, 5 minutes and 15 minutes). For instance if one program was able to run/running for 30s, then the 1st LA would be approx ".5". If 5 processes were able to run in the last 1 minute then your load average is 5.
A Load average lower than the number of CPU's you have means that at least a proportion of your CPU time is being spent idle. A Load average higher than the number of CPU's you have doesn't necessarily mean it's overloaded, but it's busy. :)
A very high load average doesn't mean that your machine is going to be slow or unusable, however if you have a high load average then usually you have high memory usage (since having a lot of different processes means that although each process is using a little bit of memory, in total they may be using a lot). Since you have a lot of memory being used your machine will start to swap and then begin to thrash (See MemoryThrashing).
It is not uncommon to have a LoadAverage geater than the number of CPU's you have, for instance you may have a process running at nice level 19 (the lowest possible priority) searching for aliens (seti@home). Since this process runs all the time the machines LoadAverage will be 1.0. If you run another program (eg: mozilla) then your LoadAverage will be greater than 1, say 1.5. However this doesn't mean that mozilla will run slowly, since mozilla probably has a nice level of 0, it will be able to use a lot more CPU time than seti will. seti will just "soak up" the rest of the cpu time.
One page links to LoadAverage: