Here is one that I had forgotten about. If you are having a cardio workout then your main motivation is to lose weight in fat. If you wait at least an hour to eat after all of your cardio workouts then your body will start to burn of the glycogen in your muscles instead of having a nice supply of sugar in your blood to feed off of. This is another reason why exercising, especially cardio are good to do first thing in the mornig before you have eaten anything to pop up your blood sugar.
If you are going to have a weight workout this would be the other way around as you need to have all the sugar in your blood that you can get to fuel your muscles to lift heavier weights
Just wanted to add a quick extra to this and that is that if you are going to wait to eat after exercise the best amount of time that I have heard in the past is up to one hour. The kind of food you would eat then I do not believe is different between a weight or a cardio workout and that is to eat a balanced meal but not a really large one. Your body is healing after a workout and you would not want to tax the recovery by eating heavy foods that would slow you down