One of the design goals for Blender 2.5 was to unify the way tools are accessed internally. Prior to 2.5, there was no consistent system. Hotkeys, menu items, Python and others all had their own duplicated and inconsistent ways of using Blender functionality, and were even mixed up with each other (eg. a menu item sending a keyboard event in order to launch a tool).
There was no unified system for handling tool interactions, so many tools would block all other input and restrict all interaction to a few keyboard/mouse events that the tool would handle itself. This was hard to maintain, prone to errors and was a barrier to future developments such as tool shelves, since it would involve creating even more of the same problems.
Fixing this was a mammoth task, involving modifying and renewing every single tool in Blender, but in 2.5 these problems have largely been overcome with the new tool system, otherwise known as Operators.

In Blender 2.5, every user-accessible tool has been converted to an Operator, which is the new generalised representation of a tool. Operators have unique names and descriptions and are registered as accessible in a searchable global list, from which a Python API is automatically generated. Operators also have clearly defined input properties, that can be used consistently as parameters when using the operator from Python scripting, or as UI controls for tweaking the operator's effect in the UI. Since there is now a consistent method for accessing tools, many new interface designs are now possible, such as the new tool shelf.

With a unified registry of all Blender tools, it's now easy to search for a tool by name. Using the Search field in the main Blender header, or by pressing space bar, you can search for and execute any Blender tool, with live updates as you type. The operator system also keeps track of the correct shortcut keys as configured, to display them in context.

New in Blender 2.5 is a customisable tool shelf, for fast access to popular tools. The shelf is context sensitive, showing different tools in different editing modes. The shelf is accessible as a 3D View region (shortcut: T). Similar to the property editor, the default shelf is driven by python layout scripts, and can be customised with minimal scripting, and new tools can be added to shelf from the UI.

Blender 2.5 adds a new system for tweaking inputs to tools (operator properties). In the bottom of the left 'tools' region of the 3D View, there is a new area that displays settings from the current (most recently executed) tool, for interactive tweaking. In contrast to most methods in Blender 2.4x, which involved guessing the right settings in advance, Blender 2.5 lets you adjust tool parameters with live feedback.