Depends on the function. We have a carpet cleaner that I have used for years and it is great for getting all of the dirt out especially since we have dogs. We also have a steam mop but it only works well on the solid surface floors. The steam mop won't extract the dirt from the carpets like a carpet cleaner does...it will only "wipe" them.
Re: steam mop?