Many robots work great on hard floors but may not be as effective for carpets. If you have a lot of carpet in your home, you want to pick a robot vacuum that can suction deeply to pick up debris from carpet fibers.
The best robot vacuums for carpets generally don't have mopping features. Instead, they have some of the highest suction ratings in the industry and specially designed brushes that do a superb job of dislodging debris from carpet. They may be able to detect carpet and increase suction automatically or you may be able to tell them where carpet is.