Q. What is difference between 404 and soft404?
Ans. When we use a custom page to redirect user of 404, it creates soft 404. Let me make this sentence clearer. Usually webmasters or SEOs create a new attractive 404 page and this page is shown every time when 404 not found error is displayed. It is done by using server side scripting.
Many webmasters prefer to redirect users on home page instead of displaying 404 page not found error or 410 error. It can be helpful for your user but not for crawler. It is same as using wrong anchor text for your internally linked page.
In an extremely simple word, 404 error is page not found but soft 404 means page not found that’s why user is moved to either home page or custom page. Creating custom page and diverting traffic of 404 page on home page is not recommended by Google. It can de-indexed your website.
I have faced the same problem on my book selling portal. There were approx 40k pages which were redirected to home page due to url updates. I took this step to not to show 404 and keep my users on website. All those 40k pages had been indexed and ranked in Google SERP. After their ranking, I did that commit mistake. But it was great to learn.
I hope you do not have any doubt now.
Soft 404: Define by Google