It's the limitations of the pressure vessel. in order to store enough energy in the space of a car, to give you a usable commuting range like 40 miles, you need extremely high pressures.
Now you don't want something brittle, like carbon fiber, that would "pop" or more like explode, in the event of an impact. That's dangerous, even if you surround it with cushion and crumple zones, like that how to protect the egg experiment.
You want something with some malleability, that gives you a better chance of holding pressure in an impact. Really steel is the only option. And for a steel tank to hold that much pressure, it has to be extremely heavy.
For instance:
to store 20 KWH of energy (enough for a 40 mile range in an average car), you would need a spherical steel tank, 16 inches in diameter on the inside, holding 4500 psi, with a 4 inch thick wall. That tank would weigh 1450 lbs.
That sounds doable. You could totally build a car around that. Maybe I should take a closer look at compressed air.
You can also compress the air using solar, or wind power, keep it in a storage tank outside the vehicle, then let the pressure equalize into your inboard tank through high pressure lines. It would be a pretty quick fill up process.
Edit:
dirocyn is off by a factor of ten. Compressed air at 4500 psi contains over 550 wh per liter.
http://en.wikipedia.org/wiki/Energy_density
http://www.onlineconversion.com/energy.htm