On what basis should software developers opt for optional extensions/plugins to provide users with customisability options? [on hold]

I refer to this article, describing Google's 'fix' for their previous reversal of the backspace key functionality in their Chrome browser, as an example of the type of scenario I'm asking about.

A lot of software can be modified via the use of extensions, plugins, etc. However, from a user experience perspective, when would using extensions or plugins make sense as opposed to just providing an option in the software settings?

I would think that extensions or plugins make sense when offering some sort of advanced functionality, or perhaps some sort of creative function, but I am interested in the arguments for using this approach when all it offers is changing the function a keyboard key does.

In particular:

  1. What situations justify requiring users to download/install an extension or plugin to alter/enhance their software? In other words, under what circumstances would this approach be better for users?
  2. What about user expectations? Would users expect to find something like toggling the function of a keyboard key within the application's settings/options instead of having to look external to the software for a solution?

I personally rarely use the Chrome browser, but I do know that its previously default behaviour for the Backspace key was the cause of much frustration for many users (see this) so I would have thought a user setting/option was the ideal way to go.

I'm not really after Google's reasons for this approach, but I am interested in whether any research has been done on:

  • what types of things users expect to be part of an application's settings
  • when are users likely to be 'happy' with the extension/plugin route?