They aren't "cracking" per se, but rather discovering blocks.
The way that bitcoins are created are via a "proof-of-work" system. There is a hash value (via SHA 256), and the computer slowly crawls through a series of values to try and find which value matches against the HASH. Once that proof-of-work value is found, the node broadcasts that value to the rest of the attached nodes. After that, other nodes will start to build upon the work performed by the first node, so the proof-of-work chain continues to build.
Think of it like you're building scaffolding, where each layer of the scaffold depends on the previous layer for structural support. Mining is the process of finding the next chain up in the scaffold. Each layer becomes more and more computationally difficult to find, because it's no longer solving the hash at an easier value, but rather has to depend on the previously established values in the chain for proof-of-work.
The wikipedia diagram explains it pretty nicely; each block in the main chain is black, with the green block being the genesis block, and the purple blocks being orphans.