One of my friends has a 2-year old iMac. I spoke to him recently and he's happy with it and has no plans to upgrade.
Personally, I see them as having all the disadvantages of a laptop (low performance/dollar ratio, difficult or impossible upgrade path) with none of the advantages (portability).
From what I recall, it is not hard to upgrade the memory of an iMac. The hard disk is not intended to be user-serviceable, probably because they figure you'll just plug in a USB, firewire or network drive if you need more storage. manual here The same may not apply to other makers, but I'd bet that most all-in-one upgrades will be more difficult than with a standard desktop. Whether that is a deal-breaker for you depends on how comfortable you are working with hardware.
I was actually thinking whether to buy a all-in-one-desktop or laptop.
I find it much easier to work on bigger screen of desktop rather than small laptop screen. Do they have power back up , i mean battery like laptop ?