MPLS is an IETF standard for label switching. Label switching is a technology which does allows a user to closely control the path of a packet rather than have it determined mathematically or functionally by a routing protocol.
MPLS uses a device called a "label stack" (LS) which is prepended or wedged within a packet. The LS is first assigned at a "label edge router" (LER) and carried over the MPLS network via a mesh of interconnected "label switch routers"
(LSR). Operations may be performed at the label stack to control the packet's route in-transit. Applications for this include quality-of-service (QoS), virtual private networking (VPN) (which is called wormhole routing in the MPLS world), and traffic engineering. Arguably, traffic engineering is the more potent capability of MPLS, and this is the typical production application. After the LS is manipulated and ultimately reduced to a stack-length of zero, it is considered out of the mesh and carried off by another LER.
Aside from the benefits provided by stack operations, MPLS is extremely useful in an effort to avoid routing calculations on a per-service basis. Since the destination interface can be determined by looking a short fixed-length label, most operations can be done extremely fast using dedicated hardware processors. MPLS is often considered a solution to obscure network topologies which require tunneling in order to connect diverse Layer 2 networks, but is more in use today as a method whereby traffic engineering can be performed on large cable and DSL end-user service networks.
An operations analogy for MPLS can be found in the U.S. postal system (USPS): a letter enters the postal-office and put through a handwriting recognition machine which adds a bar-code to the outside of the envelope in ultra-violet ink. The letter is then switched from post-office to post-office utilizing the appended label until it gets to the destination mailbox. The point is the classification of the packet need only be performed once when the packet enters the routing system: not from hop to hop.
MPLS is often described using color coding. For example, at the entrance of a packet to a LER, I "tag" the packet using label YELLOW. Every router on the network has had distributed to it, through the label distribution protocol, the different labels that can be in use and the appropriate destinations for those labels, which are selected by the network engineer. The label is examined, if necessary removed and rewritten, and then distributed to the next router in the chain. This process of removing and rewriting a label onto a flow is cheaper computationally than looking at each packet, which is how a protocol such as GRE is engineered. GRE and MPLS tunnels are often used interchangably in network engineering discussions due to their similarity.
The label distribution protocol is usually implemented on top of IS-IS or BGP, which makes its deployment easy in networks with the hardware or software to support MPLS features. MPLS is perhaps best described in Rekhter/Davie's _MPLS Technology and Applications_, published by Morgan Kaufmann. It is also described in RFC3031, but also check out RFC2702.