Well the idea of a cryptographically secure hash function (and often functions within them), is to mimic the Random Oracle model as closely as we can. Now, short of a little gremlin (perhaps?), some perfectly unbiased dice, a magical orb and a magic way to store all the possible outcomes from each input, we need these functions. I'm going to assume you know this and what you're asking is why do we need, "magic"?
Some points worth bearing on the Random Oracle:
- The Oracle, would need infinite memory to memorise every query it
ever received (as well as the truly-random reply).
- The Oracle is truly random, this is enough of a challenge already.
- The Oracle would not only need the infinite memory, previously referenced but eventually infinite power, both ideas, violate some physical constants.
- The Oracle ... is already debunked. (it's a useful model but it is magic)
So the next best thing to see is Crypto-Secure-DRBGs. - They and the hash functions based around are at the heart of everything the RO attempts to recreate... apart from we should note, with a computer algorithm anyone with access to the algorithm, can query "the oracle" (this isn't really a problem, though and to expect differently is ludicrous).
(hash functions are deterministic functions whereas RO is a random
one, is this the most significant factor?)
Basically, no: the most significant is the first one you mentioned, you can't memorise the outcome of every input, this is a physics issue or a maths issue, either-way, I don't think it needs dragging out.