I have a cat that sheds a lot as well as allergies, so needed a vacuum that would keep the floor clean. The Roomba does a surprisingly good job picking up pet hair. If I vacuum using a regular vacuum and then let the Roomba do its job, it still finds enough pet hair for another cat, even when the floor looks clean. It is not so great with debris and such. The dustbin is small so it will get full rather quickly. The Roomba can handle thick power cords as well as transitions between carpets and bare floor (it can prop itself up). It will get entangled in thin cords (speaker wire, charging cords) and twist ties are its worst enemy - so be sure to clear the floor of these obstacles. The lighthouses work, but are rather imprecise. The Roomba will turn around way before getting anywhere near the lighthouse.
As others have said, the Roomba has poor battery management. The user manual tells you to keep it on the charger whenever not in use. If you do that, you will need a new battery every few months. Now on my third battery, I figured out how to make them last longer. Roomba keeps charging its battery whenever plugged in, even when the battery is full. To maximize battery life, don't leave the Roomba on the charger for more than 24 hours. Then unplug it AND remove the battery until ready for use. (If you leave the battery in the Roomba, the vacuum will drain it if not plugged in). I've done this and my third battery is going strong for almost a year now. The other batteries lasted 3 months tops.