there are a large number of reasons, why it failed, some down to incompetence/overconfidence/poor planning, and some just bad luck, I'll list a few of the larger ones for you.
1) the british drop sites were 6 miles from the target, that's a good hour+ walk for the men, before you even consider what would happen if they came across resistance on the way. which is plenty of time for the defenders to react. (the drop site was the best that they felt was available)
2) they met resistance, firstly they either failed to realise 2 SS panzer divisions had moved into the area (9th and 10th SS Panzer) or simply decided to ignore the info.
Then a bit of bad luck, on the day of the landing a separate SS Battalion had decided to go out on exercises just over a mile from the landing sites, perfectly placed between target and the drop site, (a total fluke)
3) Breakdown of Communications within the british division, WW2 radios were very unreliable, and on the flat, woody terrain of Holland they had very limited range, once into built up areas it got worse, as such the sub-units within the division quickly lost contact with each other and ended up fighting their own individual fights, added to that the british divisional commander got cut off from the division for 24 hours meant no communications and no one in charge. the result was the division was unable to co-ordinate and run an effective battle.
4) 82nd Airborne, the 82nd had a lot of targets to capture, too many in fact, the division was not arriving in 1 go but in 3 parts over 3 days, it's 2 main objectives were to capture the Nijmegen Bridge and to defend the eastern side of the 'highway' from attacks directly out of germany. it did not have enough men to do both, on the first day they made good headway into nijmegen and got close to the bridge, however by the afternoon germans were beginning to appear on the eastern flank in large numbers, by nightfall the 82nd had pulled most of it's troops out of Nijmegen to fight in this ever growing battle to the east, this meant the single batt they left in the town had to wait until the british guards division arrived and then fight though the town, allowing the germans 2 whole days to build defensive positions inside the town.
5) the ground attack was risky from the start - the plan was to push an entire british corp (XXX corp) up a single road from the front lines to Arnhem (60+ miles) in 48 hours, this road was for much of the journey a single land, just wide enough for one tank at a time, for large parts of the road, it was built on dykes, putting the road 8-12 feet above the surrounding fields, (the fields were boggy and any tank would quickly get bogged down if they left the road) the effect of putting a tank on such an elevated position is a bit like putting a little duck in a shooting gallery. every time the british got ambushed (which was lots) they had to stop, and get infantry to go in and clear the german positions out while the tanks sat helplessly on top of this highway getting picked off 1 by 1.
6) They just advanced too slowly, even without all the problems of getting down this road, the advance was still slow, as soon a night fell the tanks would stop for the night, no risks were taken to try and race though in the dark.
7) bad weather, as already mentioned none of the divisions were actually landing in one go most were 2-3 drops on 2-3 days before everyone had arrived, however after day 1 the weather closed in for a couple of days meaning everyone else was stuck back in England unable to join the fight. for divisions airborne divisions already getting overwhelmed by the enemy, the delay in getting whole brigades/regiments into the fight was costly (this also effected the air support for the advancing ground units)
there are loads more reasons why it failed, from a bridge being blow in the 101st area that meant a 12+ hour delay, down to crowds of dutch civilians blocking the routes with wide celebrations and parties. the speed of the german reactions was also underestimated, the germans were literally stopping troop trains full of germans soldiers heading home on leave and forming them up into ad-hoc battle groups and sending them into the fight groups of men from a host of different units under who ever was the most senior person on the spot. these little units attacked this highway again and again actually cutting it several times, every time they cut the highway they cut off all the troops who had already passed down it, which resulted in British tanks and troops along with american paras having to go back down and fight to get the road unblocked - rather than be moving forwards to break though to the British paras.
Lots of good books on the subject, check out Cornelius Ryans 'A Bridge Too Far; (the film is based on it)