Soap is an excellent cleanser because of its ability to act as an emulsifying agent. An emulsifier is capable of dispersing one liquid into another immiscible liquid. This means that while oil (which attracts dirt) doesn't naturally mix with water, soap can suspend oil/dirt in such a way that it can be removed.
http://www.yasesteesoaps.com/bath-soap/