They are more expensive than some, but they are also of higher capacity and can be refilled without problem; unlike newer Epson's etc where the chip stops it from being refilled unless you buy a chip re-setter.
Also remember that the tank and printhead are one, so you get a new printhead when you get a new cartridge, when you take that into consideration they are a comparable price to canon.
My previous printer was a canon and the printhead never lasted more than a year anyway; 2-3 (high cap) refills or 4-6 (low cap) replacement tanks and it would crap out.