Its kind of like asking which is better a Chevy Impalla or Cadillac Fleetwood. One is a $250 class printer and the other is a $100 class printer. The Cannon as a more expensive printer has greater speed and more scanning options. However, I didn't find any reference to faxing.
The HP Printer is far more basic but does send and receive faxes. Incindentally, this does take a phone line hooked to the printer.
The best one is the one that fits your needs and pocket book. If scanning flexability and high quality color prints the Canon with 5 individual ink cartridges will do better than the HP with a tri-color and photo cartridge. The photo cartridge replaces the black for photo printing. BTW - HP's website does have a full featured Vista driver and software download for this printer