I am not so deep into MPLS yet. But as far as I understood it it is a mechanism to speed up the routing of network traffic. You define different MPLS values and the MPLS router only looks at the value and chooses the way that the packet has to go.
I would compare it with colors. In MPLS you give different kind of packets different colors and the MPLS router only looks at the color in the packet and on the labeled color the router chooses direclty the path. So the router does not have to do a routing decision based on IP address or MAC address.
The routing process is so much faster.
Hope I got the concept right and it helps you.
The first thing about MPLS it the labels are fixed length and hence quickly switched. The second thing is runs over the the underlying technology including ATM. When combined with BGP it provides an any to any network whereas with frame-relay it was necessary to define n*(n-1)/2 connections. Again with MP-BGP it can carry multiple customers and can also have traffic engineering applied to it. It can also be used as a L2 technology to connect LANs together.
Interesting enough... My good friend Anthony Sequeira recently blogged about this...
A good starting point:
There are many other reasons as people's networks get more complicated and more differentiated services are desired!
Probably the main reason for using MPLS in modern networks is introducing connection-oriented services to packet-switched networks. For years, the two concepts (packet-switching & circuit-switching) have been opposing each other but eventually it came to the point where a packet-switched network may act like circuit-switched when needed. MPLS allows for creation of "circuits" that are being dynamically packet switched thus combining the two concepts together.
The main benefits of connection-oriented services are the flexible traffic-engineering capabilities and end-to-end QoS features, that the packet-switched networks are missing. It is interesting to note that MPLS VPNs should be correctly referred to as "BGP-based VPNs" since MP-BGP is the main signaling protocol. For the tunneling technologies you may use a number of transports, including mGRE, L2TVPN3, IPsec and finally MPLS. The same goes to any other VPN service, including L2 VPNs.
The main difference between MPLS "circuits" and any other tunneling technique is the fact that MPLS labels are local to every node, which allows for flexible path manipulation in PSN. The GMPLS architecture further expands the same "MPLS LSP" concept to almost any transport network, not limited to PSNs only.