A list from which the user may select an operation to be performed. This is often done with a mouse or other pointing device under a graphical user interface but may also be controlled from the keyboard.
Menus are very convenient for beginners because they show what commands are available and make experimentating with a new program easy, often reducing the need for user documentation. Experienced users however, often prefer keyboard commands, especially for frequently user operations, because they are faster to use. In situations such as text entry where the keyboard must be used anyway, having to move your hand to the mouse to invoke a menu operation is slow.
There are many different ways of presenting menus but the most common are the menu bar (with pull-down menus) and the context-sensitive menu.
The term "menu" tends to be reserved for a list of actions or global options, whereas a "list box" or other graphical widget might present any kind of choice.