I worked for Epson and they sent me HPs, and Canons to compare and contrast on my own.
DO NOT BE FOOLED BY DPI, it's so damn misleading. The Epson output DPI wise, is the highest... but its picture quality is only middle-of-the-pack. HP is, and continues to be, far behind the rest of the pack. Their photo quality is horrendous, their ink cost is astronomical, and the only thing they offer are gimmicks like a pop-up LCD to view pictures and insert CF cards into.
The Canon printers, by FAR, are the best quality printers on the market. I had a hard time selling Epson printers (thank god I wasn't comission based) because I honestly knew the Canons, dollar for dollar and even NOT, were much better printers.
Replaceable heads, individual ink tanks (which Epson adopted also), cheap ink cost, and the most gorgeous prints you'll ever see.
A thing to note... if you buy a Canon printer, buy the Canon paper. It makes a HUGE difference. You can't go buy generic photo quality paper and expect it to do the same job -- it won't. Not by a long shot. Additionally, same goes for Epson -- Buy Epson paper, HP well... just don't buy.
I would recommend a Canon printer over ANY printer in each price bracket. If you want a cheap one, buy a Canon. If you want an expensive one, buy a Canon.
This is my experience, after having sold Epson printers for a year. Trust me, you won't be sorry. HP is total crap but people buy the name, so it's sad really. Their quality of yesteryear is now laughable. Just print the same picture on two printers and you will know, time and time again, that the Canon is the best printer.