At first, Roomba only worked in fits and starts. After running for a while, it would bump into something that appeared to knock it silly. It would spin backwards in a circle for a minute or two until it gave up, confused. Amusing though it was, it really made the whole thing pointless since you couldn't leave it unattended. iRobot customer service turned out to be a joke. I was about to take it back to Fry's, but out of nerdiness and ultimately stubbornness, I decided to tinker.
First, I found the Roomba diagnostics that some poor guy apparently reverse-engineered. Kudos to the Roomba engineers for putting in the testing routines, and shame on the writers for not including the instructions in the manual. Double shame on the web guys for not posting it on their website.
Armed with this information, it was soon apparent that the cliff sensors weren't seeing the ground. Roomba thought it was perpetually about to fall off a cliff. I tried the usual (for Roomba owners) sensor tricks with tape, aluminum foil, even mirrors, but to no avail. With a digital camera CCD and an infrared remote I proved that the sensors themselves were working. Eventually I deduced that the sensors, located on the bumper, had a loose connection that the bumping would aggravate.
Now, it was time to put my college degree to use. I located the sensor that was most troublesome, and I repeatedly applied rapid, blunt force to that part of the bumper. That is, I hit it. I hit it over and over until it worked. Not only was it an effective repair, but it was quite satisfying.
The only other problem I had with it was the battery, which took quite a while to break in. I think the trick was to run it on "max" mode a few times to deplete the battery, and let it charge long after the LED says it's done. I can't be sure, though, since I tried a lot of things; draining the battery is a routine fix for rechargeables. Nowadays I almost always run it into the red, either in one shot or across multiple rooms.
I haven't had any troubles from Roomba since. Occasionally I clean it. More often I don't, and it keeps on trucking anyway. Bottom line: If you want one, get one, but buy it at a place where you can take it back for a refund, not just a replacement.