SOAP is a specification defining the protocol for exchanging web services messages. It tells you what to read and write but doesn't actually do the reading and writing - it is not software, just the specification for how software should behave.
WSIT, WCF both provide webservice implementations that adhere to the SOAP specification - they are implemnetations of the SOAP specification. You don't have to use these frameworks - you could code the XML yourself, but it's of course a lot easier to start from an existing implementation, so you can focus on the logic of your webservice rather than the plumnbing.
You need SOAP - it's the common ground that two independent implementations agree upon, and is the key factor that makes WSIT/Axis<>WCF interop possible. It may help if you think less about the implementation technology and focus more the external interface (i.e. SOAP) that your service exposes.
There are many similarities with the Interface/Implementation Class separation in OO programming. Once you have an instance implementing an interface, you don't really care about the actual implementation details - just that the implemnetation adheres to the interface specified. With web services, you don't (usually) care that the service or client is implemented in WSIT, Axis, WCF, asmx, or any other programming language - you just care that it exposes/consumes a SOAP interface.