I've always explained MPLS as "layer-2 routing". From the 30,000ft view, that's pretty close to what it does. But strictly speaking, MPLS isn't a layer-2 - there is no layer-1 carrying MPLS directly, it's always riding as the payload of some other layer-2. But it's also not a layer-3.
From a practical standpoint, there are various uses for MPLS, and various reasons for each. IP routing is a very simple process making it's decisions based on the destination address (and sometimes the source), hop by hop, with no visibility or control beyond your own router. Digging any deeper does comes with a great deal of additional complexity, and all that work is gone as soon as the packet is handed to the next hop. MPLS does whatever classification to determine the Class of Service to which the traffic should belong, and records that into a label. MPLS routers create pre-determined label-switched paths (LSPs) for each of the various classes (labels.) Once traffic has a label, that's all the MPLS network has to look at. An LSP can be controlled with far greater detail than IP routing. (esp. between networks, which is commonly done with BGP.)
The most common use case for MPLS is in the creation of "private clouds". Which is just modern speak for "a network". We were building these things long before people used the word "cloud" - VLANs (Q in Q), ATM, Frame Relay, Circuit Emulation, pseudo-wire, ... MPLS is just one more way of grouping a bunch of otherwise separate interfaces. It's no more or less secure than a point-to-point T1 between locations. (anyone who can see any part of the path can see your traffic.)
The key benefit is reduced latency. (and predictable latency) Labels are small. LSP tables tend to be small - smaller than IP route tables, way smaller than a full BGP table. All of which makes lookups fast. (thus switching and not routing) The complex part only happens once, at ingress - where the label is determined/attached - vs. IP route lookups at every hop. Paths can be tuned to better utilize bandwidth, improve interactive / real-time applications (shorter path, higher speed interfaces, lower latency links, etc.), partition types of traffic, etc.
As for "need", well, that's open to opinion. MPLS's niche is where IP routing alone doesn't cut it. But with all the options available today, I can't give a concrete use-case for MPLS. It's still very popular with carriers, but that may just be complacency -- it's how it's been done, all the gear does it, and all their engineers understand it.