When you eat, your body begins to break the food down into basic compounds, so that they can be used. This means that for a few hours after eating your blood is full of stuff like lipds, cholesterol, trigycerides, sugars etc. If you do a blood test under these conditions, all the values that they measure will be skewed to the high end. not only that, but some compounds may affect the results of tests for other compounds.
Doing bood tests when fasting means that you are actually measuring the baseline for these compounds, and this is what indicates if your results are within the acceptable levels.