I've been maintaining a fleet of Roombas for myself and friends and family for quite a few years now, previously the old 400/Discovery series and more recently the 500 series and later models. One of the most common failures I've encountered behind bad battery packs and mechanical problems is faulty IR LEDs. These things use a lot of them, proximity sensors, bumper switches, wheel tachometers, etc and across both series I've seen what I find to be a surprising amount of IR LED failures. They don't normally fail outright, they just get weak and that causes erratic operation before it gets so bad that it stops working completely. Just the other day I fixed a 500 series my friend gave me that I found had a weak LED in one of the bumper switches and a few days later I finally went over and grabbed my mom's 500 which had stopped working some time ago and found the same fault in hers. Does anyone else work on these things? I'm curious as to why these LEDs seem to fail so often, whether they're just cheap LEDs, or they're overdriven, or damaged by spikes from the motors or what. It's been a while since I've looked at the circuit but IIRC most of these LEDs are wired with several in a series string with a current limiting resistor fed from the switched battery voltage that is live whenever the robot is running.
Also in case anyone is looking, I found an exact drop-in match for the LED used in the bumper switches and wheel tach sensors, available for something like 37 cents each from DigiKey. There are sellers on ebay scalping replacement LEDs for like $50 a pair. iRobot of course will not sell you the LEDs or even the complete sensors, for the bumper sensor you are expected to replace the entire robot chassis.