It sounds like you've reached the tipping point, and are possibly overtraining at times. Long training sessions will cause a rise in cortisol levels, putting your body into a catabolic state. This will make you feel tired and can even stunt muscle growth. Cortisol levels rise when the body is put under stress. Of course inconsistency plays a big part as well. Any inconsistency in your training will wreak havoc on your energy levels.
A few suggestions:
- Drink a post-workout recovery drink immediately after your workout. There are a lot to choose from but I typically buy Accelerade because the price is reasonable and it tastes pretty good too. The idea with these drinks is that they'll halt the rise in cortisol levels and help promote protein synthesis.
- As Lauren already suggested, you could try splitting up your routine. Perhaps 2 or 3 days per week of weight training, alternating with a couple days of cardio. Each training session would be a little shorter in effect, and just might allow you to recover more easily from day to day.
- Try analyzing your diet for a few days, and determine how much protein, carbs, and fat you're taking in each day. With a routine like yours you might want to shoot for something around 30% protein / 40% carbs / 30% fat.
If you find the right mix of diet, exercise, rest (and post-workout nutrition) you should actually start seeing improvements in your work capacity as well as your energy levels.