If you're going to buy one (and I HIGHLY recommend you do!!) get the type that can both map your home and empty itself.
We have the Roomba i7 at our primary home and it can do the whole lower floor in a few hours. It has to come back and empty itself and sometimes get a battery charge. I can tell it "keep out" zones and it will not go there...like the legs on the dining room chairs/table. Now that the Roomba i7 has mapped the house, it creates PERFECTLY straight vacuum lines.
In comparison our older Roomba in our vacation home has no mapping feature and we have to manually empty it. It is still awesome have a robot do the work, but once you get spoiled with having one that can empty itself you never want to go back. Oh...the old one can't "map" the house, so it just randomly wanders around, cleaning the floor and bumping into stuff...still WAY better than doing it myself.