One of the biggest problems with fuel cells is price. To get reactions to happen at that scale (you're actually burning the fuel), you need a catalyst - namely platinum and rhodium. Platinum is worth more than gold, and rhodium is the most expensive metal on today's market.
Although the design of the catalysts use as little of these precious metals as possible, they do use them, and it's likely it would cost less for many lead-acid/nickel-cadmium batteries than it would for one fuel cell. While the fuel cell would be a lot cheaper in the long run, the short run would make the price-obsessed world market ignore them. This is the first big hurdle fuel cell technology has to face.
And we all know that people are price obsessed, don't we? (/me points finger accusingly at x86 crowd)