I did some reading too.
* Napoleon is to blame for the events leading up to Waterloo, going back to his invasion of Russia etc., killing off his horses, unable to stop the guys in Germany.
* d'Erlon's useless marches 2 days earlier.
* the unsupported calvary attack of Ney. I read everywhere that had Napoleon sent in his guard right then and there, he would have smashed the Allies. Why was he so reluctant in using them? Perhaps he didn't know the state of affairs of the Allies during the attacks? (see next point)
* lack of proper communication - the ridge which blocked Napoleon's view of the real state of infantry during the cavalry attacks. Had he known how it looked, he might have made a decision regarding sending in the guard. Yet it seems he didn't.
Belle Alliance is about a mile from the ridge. Was it so troublesome to get such a message across?