OP, please note: There is a reason that AnonyMint's "ignore" button is a bright orange.Edit: Just discovered that the highlighted "ignore" link has been temporarily disabled.As for how do they all fit together ... that is a long topic and I have drunk too much port. Start looking at the bitcoin wiki.
I don't drink port. I'll have a go at it:
Bitcoin uses sha256 to generate a unique ID to reference two important types of data. Indexing these IDs in a database makes searching for them much faster/easier.
A block can be identified by its sha256 hash
A transaction can be identified by its sha256 hash. The transaction hash is only a reliable method of lookup after the transaction is confirmed. Until then, then transaction hash can be modified.
sha256 hashes are used to generate a merkle tree identifying the ordered list of transactions in a block.
The merkle root (also a sha256 hash) is used to prove that a merkle tree for a particular block is valid.
Bitcoin also uses sha256 as a proof-of-work system to make it difficult for an attacker to modify the blockchain. The result of the sha256 proof-of-work hash is the block hash.
ECDSA (using the Secp256k1 curve) is an Elliptic Curve Digital Signature Algorithm used to provide proof that a spender is authorized to spend the bitcoins that they use to fund a transaction.
ECDSA depends on a mathematically linked pair of keys ( a private key used for creating the signature, and a public key used to verify the signature) To increase security, and shorten the size of the address, bitcoin passes the public key first through sha256, and then the result of that is passed through RIPEMD160 (another hashing algorithm). The result of the ripemd160 hash is concatenated with a 4 byte checksum and a version number. This value is then encoded using a special base58 encoding. The result of that is that bitcoin address.
This means that if you are given a public key, then you can repeat the base58(ripemd160(sha256(public key))) process to verify that the given public key corresponds to a given bitcoin address. If you are given a digital signature AND a public key, then you can use the public key to verify the signature, and then repeat the base58(ripemd160(sha256(public key))) to verify that the signature corresponds to a particular address.
These are the only places I can think of that the protocol uses any of these cryptographic functions. I suppose it's possible that I've somehow missed something.