...
This was a way to add a layer between the socket code and the protocol code without changing the protocol code which make it easy for everyone to use this approach with previous code they already had.
i.e. it gave a way to add security to existing protocols with symmetry. The code didn’t need to change much.
Other reasons it took off as pointed out by Vismay:
...