Getting H2 from water is very inefficient. Throw that in the trash. Burning previously extracted H2 has two main drawbacks; 1) the easiest way to get H2 is from cracking HCs from fossil fuels, and 2) burning it in an IC engine is insanely inefficient. Most of it gets lost as heat. You would have to carry large quantities in highly compressed states to get any decent range, and not too many people want to carry one of the world's most explosive gasses in a compressed cylinder at 1500 psi.
There are several other drawbacks, including the fact that it isn't much help to emissions. Although H2 is the fuel, its still combining with mostly nitrogen. Another drawback is that the violence of the combustion tends to destroy engines rather quickly. I'm sure that is pretty easy to engineer around, but still an issue.
Using H2 to power a fuel cell has only H2 and water as its emissions, requires a small quantity to provide electricity, and for now anyway is a much more efficient means than burning it.
Although the IC engine is a wonderful thing, it is inefficient, old technology. Trying to adapt new fuels and technologies to IC is kinda like polishing a turd. Given the huge world of possibilities that are afforded by alternative propulsion, further fine-tuning of the IC engine is kinda moot. We've put so much time and energy into it getting it really great, but its not going to be easy to take it further. A "simple" jump to more logical means (like electric propulsion from fuel cells) would really be better.