Well. Solution of sodium alkylsulfonates are good detergents, because they produce calcium alkylsulfonates in hard water, and these calcium derivates are soluble in water. By contrast, usual soap produce calcium alkylcarboxylates (like oleate, palmitate, etc.) in hard water, and these compounds are not soluble in water. Soap may be a good detergent : it removes stains. But it replaces the stain by a deposit of calcium carboxylate. This is not what is expected when cleaning dirty clothes.