About hash functions
A cryptographic hash function takes an input of any length (a password, a sentence, a whole file) and produces a fixed-length "fingerprint" of that input. The same input always produces the same output, a tiny change in the input produces a completely different output, and — in theory — you cannot go backwards from the fingerprint to the original input.
MD5, SHA-1 and SHA-256
MD5 ("Message-Digest Algorithm 5") produces a 128-bit (32 hex character) fingerprint. Designed in 1991, it was used for decades to store password fingerprints and verify file integrity. It is now considered broken: practical collision attacks exist, and it is fast enough that brute-forcing or dictionary-attacking short inputs is trivial.
SHA-1 produces a 160-bit (40 hex character) fingerprint. Newer than MD5 and used to be the web's default (TLS certificates, Git commit IDs), but it also has practical collision attacks (the 2017 "SHAttered" attack) and is deprecated for security-sensitive use.
SHA-256 (part of the SHA-2 family) produces a 256-bit (64 hex character) fingerprint and is still considered cryptographically strong today — it's what secures most TLS certificates and the Bitcoin blockchain. It is not broken the way MD5 and SHA-1 are.
So why can this site "crack" a SHA-256 hash too?
We don't break the math of any of these algorithms. All three are fast, general-purpose hash functions: computing millions of them per second on ordinary hardware is cheap, by design (that's what makes them good for checksums and digital signatures). That same speed is what makes them unsuitable for passwords: we maintain a large list of common passwords and strings, hash every single one of them ahead of time with each algorithm, and store the hash → plaintext pairs. When you submit a hash, we just look it up. If your original value was long, random and unique, it will not be in any wordlist and nobody — not us, not anyone else — can recover it. That's exactly the point of a strong password.
What should be used instead for passwords?
A dedicated, deliberately slow password hashing function with a per-user salt: bcrypt, scrypt or Argon2. These are designed to make exactly the kind of bulk lookup this site performs prohibitively expensive, even for common passwords.