I find `SetSystemOptions["PackedArrayOptions" -> {"UnpackMessage" -> True}]` to be useful: it emits a message when a packed array is unpacked. This may happen automatically, sometimes slowing down things greatly. This is useful in situations like [this][1] or [this][2]. One way one would find out that such an option exists is `"PackedArrayOptions" /. SystemOptions[]`.

In fact, `SetSystemOptions[]` shows up a number of interesting and undocumented options. For instance, `"CompileOptions" /. SystemOptions[]` gives a set of options for when things get compiled, whether or not to generate reports when something can't be compiled or parts of it call external definitions, whether to inline compiled functions called from within a compiled function, etc. 

  [1]: http://stackoverflow.com/questions/6853787/take-some-data-return-a-pure-piecewise-function/6891751#6891751
  [2]: http://stackoverflow.com/questions/6405304/memory-use-of-apply-vs-map-virtual-memory-use-and-lock-ups/6405491#6405491