What is a megahash and how is it used to estimate the rate at which bitcoins are mined? What part of the bitcoin network requires hashes and why? What is the relation between money and the megahashes a card can do?
A hash is a function that takes a string as an input, does a transformation of it, and returns a second string that's considerably shorter than the original and that could be considered is the "resume" of the original. You can check Wikipedia's Hash definition

Hashes are required for "mining". I'm new to Bitcoin so I may describe this wrongly: As part of mining, miners compete to discover a short number that, when added to the end of a string (which contains all recent transactions since 10 minutes ago) produces a hash with a specific number of zeros at the beginning. The correctness of such a discovery can be easily verified by anyone but finding that small apendix is computationally very, very hard. The first miner to discover such a key to "lock" a block is awarded the reward - 25 BTCs as of now.

Here in comes the "mega-hash" term: CPUs, arrays of GPUs and ASICs are rated according to how many different hashes they can compute per second. Analyzing a million different hashes per second is what's called a "mega-hash". Obviously, the higher this number the more different combinatinos you can try, so it becomes more probable that you will find an answer. However, this is only a relative advantage that may be completely nullified if the other miners have a similar or even higher computing power than yours.

This graph explains it all beautifully, hope it's clearer than my bad prose