Usually it takes a good third of a Multiprotocol Label Switching (MPLS) book to answer your question, but I'll try to make it shorter.
IP uses hop-by-hop destination-only forwarding paradigm. When forwarding IP packets, each router in the path has to look up the packet's destination IP address in the IP routing table and forward the packet to the next-hop router.
MPLS uses a variety of protocols to establish Label Switched Paths (LSP) across the network. LSPs are almost like Frame Relay or asynchronous transfer mode (ATM) permanent virtual circuit (PVC), with two major differences: they are unidirectional and they can merge (all LSPs toward the same egress router could merge somewhere in the network). One of the protocols used in MPLS networks is Label Distribution Protocol (LDP), which builds the LSPs based on IP routing table, making an MPLS network automatically functionally equivalent to a pure IP network.
After the web of LSPs has been established, it can be used to forward IP packets: the first (ingress) router inserts a label (or a stack of them) in front of the IP header and forwards the packet. All the subsequent Label Switch Routers (LSR) ignore the IP headers and perform packet forwarding based on the labels in front of them. Finally, the egress router removes the label and forwards the original IP packet toward its final destination.
In theory, MPLS forwarding might be marginally faster than IP forwarding (due to simpler label lookup), but I have never seen actual data from a vendor claiming significantly faster MPLS forwarding performance.
You'll find an overview description of how MPLS works in MPLS Fundamentals (Cisco Press) or MPLS, Next Steps, Volume I (Morgan Kaufmann). For a more in-depth view, my MPLS and VPN Architectures (Cisco Press) book is still considered a reference text.
This was first published in June 2010