According to a noder on everything2.com
Because you can buy an election.
Almost every election goes to the person with more money to spend on the campaign. It's a sad thing, and some might think that the candidate gets more money because they are more popular to being with. I would disagree, as I've seen campaigns turn around from losing to winning after getting a large influx of cash.
George W. Bush had a lot more campaign money than Al Gore did.
Because you can buy votes.
You're not directly allowed to buy votes from people. But you can skirt around this simply by making promises to do things after being elected which do the same thing. Offer tax cuts - that's a direct incentive for many people, since they can quantify it.
Bush promised one heck of a tax cut. Seeming aimed right at the middle class which are usually the swing voters, as the wealthy go, almost unanimously to the republicans, and the poor are pretty much the same for the democrats.
Because "margin of error" is mainly used in statistics and science and thus not understood or relevant to most people.
Every single manufacturer of voting machines has a published margin of error in the results of their machines. I don't remember the exact numbers, but I've seen them, and that margin of error was quite a bit greater than the win margin Bush had. Thus those numbers are meaningless for determining the outcome. However, manual recounts were not properly performed to get more accurate numbers.
Because it was considered a vote against Clinton by people who saw him as the anti-christ.
Many republicans had what seemed to be a vendetta against Clinton while he was in office. Some may disagree, but I watched everything that happened. They seemed to attack him with a ferocity unrivaled in recent years. I don't think it's an exaggeration to say that Bush got a large number of votes that were not meant for him, but simply against Gore as a continuation of Clinton.
More...
http://www.everything2.com/index.pl?node_id=875285