I'll try to help summarize this quickly for you. Salesforce doesn't use the latest version of the SOAP standard. SOAP is a dying protocol. It's generally slower than REST, but has been around for a very long time. You use SOAP whenever you're trying to connect with an Oracle based database which already has a SOAP based interface configured for it.
"Bulk Data" is data stored in a database. Transferring "bulk data", means "more than one record at a time". This is not to be confused with the Salesforce Bulk API.
A WSDL (Web Services Definition Language) is an xml file that's very similar to a CSS or metadata file. It has opening and closing tags for each data type in a database. It can be expanded to form a "tree". You could describe it as a "mapping" of all the data types in your database. Another Oracle based database will be able to generate a WSDL that describes itself. An organization that uses SOAP will be able to provide a WSDL to you which you'll need to parse in order to connect with their database.
I wouldn't necessarily expect other applications to have an Enterprise and a Partner WSDL like Salesforce does, but they very well could have. It would entirely depend on the organization and what they were exposing for you to connect with.
As for code, that would be entirely dependent on what you were trying to do and isn't especially relevant to the questions you're asking. If you look in the SOAP Developer's Guide, you should find some examples in the Quick Start and in other sections as well.
Edited to add, you may find it helpful to go through the following two Trailhead modules: Apex Integration Services and API Basics, both of which cover SOAP. The first includes code examples and has exercises covering Apex callouts to perform data transfers when integrating using the SOAP API.