Think about it like this...
With normal encryption, the encrpted output's size varies on the input being encrypted. So if I encrypt the word "hello", the encrypted verison will be, say 500bytes. If I then encrypt longer text, such as a file, the encrypted output will be, say 700kb. This is reversable because the encrypted output will still technically contain the original text, except it is jumpled.
Now think of MD5. If I hash the word "hi", I get a 32 character output. If I hash a 2mb essay, I still get a 32 character output. There is no way you can "uncompress" 32 character back into 2mb worth of data. Get what I am saying?
That is why MD5 is irreversible.
Edit another example:
Say you came up to me and you said the following sentence:
"Hello, my name is Bob. I am talking to you"
I could just reply saying, "1"
Think of the above scenario as MD5. By using the sentence as input, MD5 gives you an output that is unique to what you said to me, but has nothing to do with the original data in a sense. There is no way to uncompress "1" into a sentence again, but if someone says the same sentence to me again, my output will always be "1".