To my mind, "preferences" are a subset of settings which make some actions more convenient and others less convenient, but do not make any actions impossible. Consider two programs' font-size behavior:
A "font-size" dialog sets the default font size which is used to show newly-opened documents, but enlarge/shrink buttons will change the font size for the current document without affecting anything else.
A "font-size" dialog sets the font size for all document windows until the next time the dialog is invoked.
I would consider the former dialog a "preference" and the latter a "setting". If a desired action is "show four documents with font size 12", performing that action when the default font size was set to 12 would be much more convenient than doing it when it was set to 9, since the latter would require using "enlarge" on every document. Nonetheless, someone could show up all the documents at size 12 without having to visit the font-size dialog. By contrast, if the latter dialog was set to size 9, the only way to view documents in size 12 would be to visit that dialog and change the setting to 12.
Note that while "preferences" mainly represent things like default window properties, they may also apply to options for things like confirmation dialogs if those options do not enable or disable useful functionality. For example, if selecting multiple objects and hitting "delete" can either pop up a confirmation dialog box or simply delete the items, and if anything that could be done through the dialog box can be done even when the "delete" key would bypass it(*), then it would be a preference.
(*) For example, if the dialog would include an option to prompt a user for each item to be deleted, such functionality should be made available, even when the dialog would normally be bypassed; that could be achieved by a context menu choice "Delete with confirmation".