Hard forks are needed when you expand the consensus and start allowing things that were not allowed before. This is because it would break backward compatibility (noone is forced to upgrade their software).
Soft forks are when you narrow down the rules. This preserves backward compatibility.
It's okay if old nodes accept things we no longer allow (because we narrowed down the rules) because no block should be produced with these things anyway - remember that it's the miners who signal acceptance of a soft fork, not nodes.