Pros -
You don't have to vacuum.
They can sweep under beds and sofas, where you can't reach.
You can programme them to clean before you get up in the morning, every morning if you like, or before you get home from work.
Ten minutes before visitors arrive you can set them doing a carpet sweep while you flip a duster round and hide any chaos.
My Roomba recognises when it has reached the top of the stairs and changes direction so as not to fall down.
Children love them. So do some pets (not all)
Cons -
They need a permanent place for their charging base to plug into.
Their dustbox is small and really does need to be emptied frequently or they don't pick up well.
They can be sensitive souls. If you have dropped a scarf on the floor, it gets caught in the brush and makes them squeal for help. (so do ordinary vacuums, but if the robot is working when you aren't there, you can't rescue it. Solution - don't leave tangly things on the floor)
Mine is obsesses with dining chairs. If it bumps into a chair leg it cleans round it carefully, moves on to the next leg and round that and so on. If it encounters the same leg a second time it repeats the performance. On its scheduled days, I have to remember to upturn all the chairs onto the table in the dining room and kitchen.
They don't do stairs (but a small handheld vacuum is better than an upright for that anyway)
Most of them bumble around over the carpet, rebounding at random angles when they meet a wall, a bit of furniture, or the barrier beam you can set to keep it from anywhere you don't want it to go. If you are watching it can be a bit frustrating, so you are better to ignore it and let it get on with it.