The Neato lineup of robot vacuums are much better than the iRobots.
http://www.neatorobotics.com/
The Roombas just drive until they hit something then bounce in a random direction in hopes that it covers the entire floor whereas the Neatos actually scan your room and plan things out.
I quickly returned our Roomba after buying it and got a Neato instead. Been using it for 2+ years now and it still does a great job.