I have just learnt about Bitcoin and Bitcoin mining. Is it really important to buy Bitcoin mining hardware like BFGMiner to earn Bitcoins ? Can't we just download the software and join a pool?
No, you can't. Your existing hardware is general purpose and is so inefficient at mining Bitcoins that the value of the Bitcoins you mined would be a tiny fraction of the cost of the electricity it would use. Think of existing miners as aircraft carriers and your computer as a bow and arrow, at least when it comes to mining Bitcoins.
I agree with what David said. However, if you have a GPU, then you can mine Scrypt coins like Litecoin or Dogecoin. For Nvidia GPUs, check out CudaMiner, and for AMD GPUs, check out sgminer. CPUs aren't really worth the effort to mine with, even for CPU-only coins like Primecoin (where an Intel Xeon can probably get you $1 a day).