In historical truth, the Prussians were indeed late to the battle, though that may have made all the difference. According to author Bernard Cornwell, if the Prussians had arrived on time, then Napoleon would most likely have backed out and would have fought another day. The way it happened, his army was far too involved to be pulled out, and Napoleon was utterly defeated.
Hougoumont was indeed a location at Waterloo. The character of Macduff is based on a similar character in the Coldstream Guards who closed the doors on the French invaders.
To save money and time in filming, separate events at the farms of Houguomont and La Haye Sainte were conflated in the film; thus the closing of the gates of Hougoumont - a critical moment in the Battle of Waterloo - takes place at La Haye Sainte instead.
When the French cavalry charge the British squares, this is based on true fact. The French cavalry made devastatingly unsuccessful attacks on the British squares, though the number of times that they charged is still a heated debate.
Despite being shot by Hakeswill in 'Sharpe's Company', Mr. Price returns alive and well (He is also portrayed by a different actor).