A soft fork narrows what's allowed; a hard fork widens it. Because a soft fork only forbids things that used to be legal, an un-upgraded
node accepts the new blocks without noticing anything changed — which is why every major Bitcoin upgrade since 2012 (P2SH, SegWit, Taproot) shipped this way. Hard forks, which old nodes reject, split the network into two coins; Bitcoin Cash in 2017 is the canonical example.
The hard part isn't the code — it's the coordination. Traditionally a soft fork activates when 95% of blocks in a signaling window flag readiness, proving overwhelming miner support before the rules bite. The contentious alternative is the user-activated soft fork (UASF), where node operators threaten to reject non-signaling blocks and dare miners to follow. That standoff nearly split the network in 2017 — and its echo is why
BIP-110's 55% threshold alarmed even developers sympathetic to its goals.