It severely depends on how much you can pay for the printer, how easy you can find cartridges near you, if you prefer inkjet or laser, if you want a multifuncional, and a number of other factors as well.
if your talking about laser printers, then there isnt much of a difference since Canon makes the print engines for HP. the only dirrerence is the display/menu/casing/drivers. The underlying printer is the same. Oh, and also HP charge more for the parts but you can use canon parts. For inkjets, Canon and Epson stand out from the rest, everything else pales in comparison.