Probably most of it comes down to driving style. People who are used to older cars with bigger engines will probably think a new model with a small engine is gutless and will floor the accelerator to make it go faster. Anecdotally, I drive a 2005 Civic Hybrid, which was originally rated for ~46 MPG with the "less realistic" measure EPA used back then. I've driven it 170k miles now and that is in fact its lifetime average - it has two trip odometers and I never reset one of them. However back when these were still pretty new I read reports of people who complained about getting only ~33 MPG out of an identical car. The only reasonable explanation is that they were flooring it between stoplights and generally ignoring the instantaneous and cumulative MPG display the car gives you.
Basically people are impatient and don't know how to drive efficiently. It took me a few months to really get into the groove with mine and I still have to make sure I've got plenty of room to pass on the highway, but it's certainly doable.