As software increases in complexity, the ability to customize one's work space becomes essential. Few users will want to use a given tool in exactly the way expected of them by the developer; it is a mark of the maturity of a product that it provides flexibility.
The following is a list of some potential areas of customization: