Software reset is a reset managed by software by writting a special register bit dedicated for this purpose, it's usually a synchronous reset.
Hardware reset is the traditional reset activated by setting the IC reset pin to '1' or '0' (depending on the convention: active low or active high reset), it can be also generated inside the IC.
Sotware reset mean you will put some condition in software and based on that whole system will reset and go to starting place.
Hardware reset means you will disconnect the power for some time that required by any IC(Device) to Get reset. Normally this time is given in its mannual.
My answer is a bit from Microcontroller site, altough Hope so it will clear your confusion..:|