It will always run any script it finds that is newer than the current version stored in the mp_SchemaVersion table for the feature. After running the script it changes the version in this table to the script version so it will never run the script or any previous version script again.
If all scripts are up to date it will not run any scripts, but every time you visit the Setup page it will update the default settings for each feature as defined in the Feature Definition files, this way if you change one of those file it will always update the default values based on the current version of the feature definition file, so it is possible to change the default settings. It will not change settings on any instances of the feature, just the defaults that are used when a new instance is created.
Hope it helps,