If, for example, your code had settings that you didn't want the user to be able to see, edit or delete, then you wouldn't want them to be able to access those settings through a user interface. That's part of the reason for why it's set up the way it is.
Only the script owner can access the Script properties user interface, and that's good.
Imagine that you wanted to give a user free access to a paid add-on, and you don't want to add them to the customer list.
You could have your code check script properties every time you want to check if the user is allowed to run the code,
and if their account email was added by you in script properties, then the code could make a setting in their user properties.
So, you can affect User properties through Script properties, in a two step process like that.