How Does Network Difficulty Relate to the Odds of Finding a Block? Right now the network difficulty for mining is 40640955016.576. And, according to blockexplorer.com, the current odds of finding a block for any given hash is 0.0000000000000000000057288784391318092718842084135055792. 

My question is, how is the "difficulty" and the odds of finding a block related? Obviously a difficulty of ~4 billion does not mean there's a 1 in 4 billion chance of finding a block (any modern ASIC miner could find a block in a heartbeat). So what does it mean exactly and how does difficulty and odds relate? And how can one calculate the odds based on the difficulty?
The difficulty is calculated in multiples of difficulty 1, which is defined as a probability of a single hash to be valid of 1/(2^32), i.e., in expectation one PoW is found by iterating through all 2^32 possible nonce values.

So given a difficulty of 40640955016.576 we have a probability for a single hash to be a valid PoW of 1/(2^32*40640955016.576). This in turn results in the ~5.72e-21 given by blockexplorer.