My computer... not so often, a couple of times a year. My customers' computers... weekly for the last nine years.
My primary tool is a can of compressed air. I use non-flammable, although the cheaper flammable version would probably do as well speaking of non-powered computers. Sometimes I use a vacuum cleaner with it, spraying the dust loose and sucking it at an electrostaticly safe distance. When cleaning fans with canned air, it's important to unplug the fan from the motherboard and/or prevent if from spinning to save the bearings and to prevent the fan motor to work as a power generator. The most important places to clean are air intakes (behind the front panel...) and cooler fins.
Sometimes if the computer has been smoked at, cleaning it is an unpleasant mess. All that smelly gunk that sticks everywhere, making fan blades heavy as lead and making coolers to a solid block... Tearing everything apart and using a brush is what I've done to them, even washing the non-electric parts with water and soap... Yuck!
Laptops are somewhat different. Some of them clearly haven't been designed for cleaning. The most important place to clean is the gap between the fan and the cooler grille. The nicest example to clean was a Fujitsu with a no-tool lid over the gap! The worst was an HP which had to be totally disassembled to get the fan loose.
Yet one hint for desktops: Keeping them a few inches above floor and not having a carpet near will reduce the dust build significantly! A cpu stand on wheels also makes cleaning under the computer much easier. Your childhood stool might do the trick as well, giving the beloved furniture a new life and function.