I have a 2005 Impreza RS Wagon and can't complain about a single thing. When I drive the car responsibly it gets great fuel mileage. The car is so capable it really is amazing. In snow, mud, water or anything else, the only limiting factor is ground clearance. I have recommended this car to everyone I know, and a few people have listened and thanked me for it.
You need to up-shift from 1st to 2nd at 15mpg, cause of the low 1st gear, and the rest you can upshift from 2250-2500 for decent acceleration to save fuel. Basically, the lowest amount you need to press the gas at desired speed is the gear you want to be in. Once you are at the cruising speed you like, upshift to the gear you want while at the same time making sure that gear lets you cruise at or higher than 1500 rpm. I get 21-28mpg mix driving even in some times of bad traffic. Heavy 1st gear lets you ride at idle in 1st at stop n go heavy traffic. Just leave some space (2-2.5 car length) in front of you.
My Impreza RS is all stock except for a K&N intake system and I love it. I get 32mpg on the high at 80mph and I average 27 in the city.
I've got a 2005 RS 2.5 with the Sports package. The car when bought also came with a few engine aftermarket parts; nothing too serious, just some things to give it a bit more power. Been driving it for a few months now, and it is one of the greatest cars I've ever driven. The ride, the comfort and the grip is amazing, especially for an under 20k sedan.