Why can't hash coding be reversed?
Because, in general, hashing is not injective.

Being injective is a property of a function which states that each distinct element of the domain is mapped to distinct element of codomain. It means that given a value of a function, you will (if it is a valid value) know from what it came from. For more on this, see injective function.

Therefore, if hashing function $h$ is not injective, it can happen that two elements $A,B$ could be mapped to $H =: h(A) = h(B)$ and from knowing only $H$ you cannot determine whether it is the result of hashing $A$ or $B$.

But, there is a concept of perfect hashing which is injective.



If your question is about cryptographic nature of hashing, then the reason is the same as why any good cipher is "unbreakable". It is not that it is impossible to decrypt it (it surely cannot be the case, because then the reciever of cipher could not do it), but is just very very time consuming without knowing the key. You can find out more on that at Cryptography Stack Exchange.