We have two large long-haired dogs (and I mean long - one has 13+ inch body hair!), and this iRobot does a good job picking up after them. For some reason they are both shedding right now (middle of winter, go figure). Most days the iRobot does stop and ask to be cleaned while cleaning the family room and dining rom, but it's usually nearly done before it asks. I've been running it every other day. Having it run automatically doesn't really work for us because I have to pick all the soft dog toys up before it runs since some do interfere with it, and I need to monitor it around the dogs. But it is amazingly good at handling chair legs, chew toys, and cords. It did grab one of the dog's tails once but released it immediately, so I am teaching them to move out of its way.
At first I was concerned about needing to clean it every day, but the tools they provide are excellent, and with a bit of practice, I've gotten very very quick at cleaning it. And cleaning it is way more fun than vacuuming, so I'd rather spend a few minutes cleaning it than vacuuming and then use the time it's vacuuming to play with and brush the dogs.
I do think that the reason it is asking to be cleaned so much is that it does a much better job of picking up the hair than our traditional vacuum cleaner, and it may be working on removing hair that has been embedded in the carpet for a long time. The carpet really does look great after it runs.
The virtual walls are awesome, and I use them to focus on our main living space. Our downstairs has virtually NO doors between rooms, so being able to block doorways with the virtual walls is really nice. Without them, I would have had to set up blocks in several doorways every time it runs.