SetOptions[s, ->, ->, ... ] sets the specified default options for a symbol s.
SetOptions[stream, ... ] or SetOptions["name", ... ] sets options associated with a particular stream.
SetOptions[object, ... ] sets options associated with an external object such as a NotebookObject.
SetOptions is equivalent to an assignment which redefines certain elements of the list Options[s] of default options.
SetOptions can be used on Protected symbols.
SetOptions returns the new form of Options[s].
You can use SetOptions on InputStream and OutputStream objects. If there is only one stream with a particular name, you can give the name as a string as the argument of Options.
SetOptions can be used on a list of streams, such as the value of $Output.
If you use SetOptions[NotebookObject[... ], ... ] the kernel will send a request to the front end which will immediately make the change specified.
See The Mathematica Book: Section 1.9.5 and Section A.3.3.