with MPLS u can force routers to give specific labels to certain classes of packets, give some classes better paths than others, thus provide Qos. MPLS is independent on second layer protocols, and it works on network layer. ATM is on datalink layer. so MPLS is not created to replace ATM, it is created to replace traditional route-calculating technology.