The efficiency of battery (amount of electricity charging into divided by electricity discharged to work) is 80-90% for Li-On.
It is 70-80% (Electrolysis of water) * 40-60% (H2+O2=>H2O+ Electricity) = 28-48% for fuel cell.
Apparently Fuel cell concept is much wasteful in energy.
The seemingly "advantage" of hydrogen car approach is the ideal energy density of hydrogen by weight (142 MJ/kg) vs. Li-On battery (0.87 MJ/kg). That is battery is much heavier or less capacity by weight. However, that "advantage" is offset by the fact that a tank that can store the same amount of energy will be either huge (low pressure) or heavy (high pressure). I have tried by failed to find the current (Toyota etc.) practical energy density by weight or volume in their running car or bus. Any information would be appreciated.
Just like battery is struggling to reduce the weight, fuel-cell concept is struggling to reduce either the weight or the volume without the risk of exploding which is much more dangerous than Tesla's fire.
Even if the issue of tank is solved, fuel-cell car is still very less efficient due to the conversion process (electricity to H2 to electricity). This is not only problem for the society but also for the customer because more than 50% of money paid for the electricity is burnt to wasteful heat. Just a joke though, the heat is useful in the winter.