We bought a Roomba robot vacuum cleaner a couple of months ago.
Our Roomba is one of the cheaper models and has no advanced room mapping capabilities. It seems to move in 3 ways: heading off in a random direction when it hits something, moving in concentric circles when it detects dirt, and trying to hug the edges of the room and furniture.
Our Roomba is far from efficient but we have never had a cleaner house.
It is in my nature to want to do things in the most efficient way possible but is this always best?