I've had a Roomba for about 4 years. Love it, but it does some things better than others. It works like a champ in our bedroom which has a short pile plush carpet. I turn it loose a couple of times a week to keep the cat hair down since DH has issues with it. Evict cats from room, turn on Roomba, close door & go do something else. Relatively easy to clean the cat fur off the rollers & tank. It gets under the bed & other furniture very well. In fact, I occasionally take it over to my Mom's to get cat hair out from under her bed.
It does not, however, like the new thick pile carpet in the rest of the house. Forgot about that when I was picking new carpet. I've never had a problem with the brushes coming off & ours is still the same one that we got a few years ago. (Brush cleaner tool works really well for getting hair off the brushes).
I also have a Scooba which does our kitchen floor (walnut floor with Glitza finish). Much noisier than Roomba, but works well except in the corners. Luckily, due to the design of our kitchen, I have only two tight corners. It does pretty well on the shallow corners.