The reason that soft water works better with soap is because soap is designed to attack the elements that land on surfaces. Minerals, oils, etc, and that is the very thing that the soap has to neutralize in hard water before it can work effectively. What happens is the soap is "cleaning up" the water, so that are not enough chemicals to react with the dirt being held on the surface of whatever it is you are cleaning. The idea behind most soaps is that they will break down the surface tension or chemical bonds of the dirt, but if there is not enough soap to break that bond, it makes the soap appear ineffective.
There, now you are totally confused.