I just learned a few things about hashing algorithms – MD5 and SHA-1. So, if I am not wrong passwords are hashed so that in a rare situation of your database being compromised a hacker can not see all the passwords in your database as the passwords are hashed. MD5 is not safe anymore as most of the common passwords and their hashed values are out on the internet. And hence people now use other hashing algorithms.

So, my questions are :


Is hacking a database that easy? I mean instead of finding new ways to hash, why can't they make their database more secure or "hack-proof"?
If a hacker manages to hack into some database, why would he want to know the hashed passwords? I mean he can change other columns of data. For example, he could search for his username and increase his bank balance. So, shouldn't all the fields be hashed?


Some things first:  


Forget about MD5 immediately. It's old and weak.  
Ideally, forget about SHA1 too. There are SHA2 and SHA3.  
This hash algorithms in their pure form are useful for many things, but not for passwords. Use them in combination with eg. PBKDF2, or use bcrypt (and don't forget salting).  



  So, if I am not wrong passwords are hashed so that in a rare
  situation of your database being compromised a hacker can not see all
  the passwords in your database as the passwords are hashed.


Correct. While this won't help making your server more secure (after all, it's already compromised in such a situation), it prevents eg. the attacker using the passwords on other sites. Sadly most people use one password for multiple things.  


  Is hacking a database that easy? I mean instead of finding new ways to
  hash, why can't they make their database more secure or "hack-proof"?


You could (and you should). But:


Even with all your efforts, there always is some chance the attacker can get access. Bugs in software and devices you don't know about and/or you can't fix, and many more things.
Often you can't give your best because of managers who don't think security is important, have no budget for it etc.  



  If a hacker manages to hack into some database, why would he want to
  know the hashed passwords? I mean he can change other columns of data.
  For example, he could search for his username and increase his bank
  balance. So, shouldn't all the fields be hashed?


If all fields are hashed, the database is useless for you too; so you can't do that. Remember, a good hash can't be reversed.  

As said above, as soon as your DB/Server is compromised, the damage for you already happened. The hashed passwords just prevent that the attacker gets access to other accounts of your users too (and then some users would sue you, so hashing helps you too).
