MPLS is evil. Don't do it.
If you buy a L2 VPN, you're pretty much immediately locked into one telco as the vendor. The downside of this should be obvious. The upside is that it's all within their network and so there should be plenty of bandwidth at all needed points (or at least, they can see how much is there) and they have some ability to set up committed information rates (CIRs) or other QoS-type features and offer some real service level agreement guarantees backed by technology.
If you buy a L3 VPN, you can use any IP vendor you want. The smart thing, however, is to pick one tier 1 ISP (hint: if they advertise "tier 1" in their marketing, they probably aren't) and to keep as many tunnels as possible within their network -- crossing ISP peerings is where you normally run into trouble, keeping it within their network again means there should be enough bandwidth to go around. L3 VPNs you get no particular guarantees from the telco, other than maybe on the tail circuits to each site.
L2 VPNs are expensive. L3 VPNs allow you to run over cheap ordinary IP service. L2 VPNs are typically intra-carrier only, while L3 VPNs you can attach sites no matter what public IP carrier. L2 gives you more guarantees, L3 gives you much less. Note that L2 VPNs typically mean traffic separation but not normally encryption, while L3 VPNs typically mean you're also doing encryption. For company WAN traffic, you might really want encryption!
I'd recommend you do L3 VPNs unless you strongly believe you need otherwise.