I believe from what I recall of my study of this battle a number of years ago that the most accepted tactical/environmental reasons for the defeat sit, like the Zulu attack, upon two prongs.
The first is that the line was set too far out and was too dispersed to give proper overlapping coverage at points of contact.
The clincher was that the sustained fire in high temperatures lead to a huge number of jams and mis-fires. The lack of enough men close by to cover a soldier who was dealing with a jam was just sufficient to allow the Zulu's to break through.
Physical evidence at the site show that the soldiers had no shortage of ammunition for, as soldiers ever do in such circumstances they circumvented 'procedure'; if they didn't have the 'key' to undo the screws on the ammo boxes they just bashed the lids in. However, a personal account of the day does insist that tho' there was sufficient ammunition for the unit, not enough was brought quickly enough to the firing line from the quartermasters wagons - hence, I assume, the infamous scene from the film with the quartermaster refusing to release ammo boxes because the runner did not have the right chit.
I saw a documentary on this a few years ago and it was strangely moving as the archaeologists found the point where they believed the last man fell that day. They marked the places where they could identify where men fell with little cairns of stones - it was, as I said, an emotional sight to see the field marked so. You could read the dispositions of the unit from the lines of cairns and the cluster around the hill where they stood so valiantly to the last brought a tear to the eye.
For those interested in reading a first hand account of that battle, bearing in mind that sometimes those that are there in the thick of it are not always the best witnesses, I recommend:
http://www.richthofen.com/smith-dorrien/dorrien01a.htm
And a good site for starting to investigate Rorke's Drift
http://www.rorkesdriftvc.com/battle/battle.htm