Client Site Connection Across the MPLS VPN Backbone
A sham-link overcomes the OSPF default behavior for selecting an intra-area backdoor route between VPN sites instead of an interarea (PE-to-PE) route. A sham-link ensures that OSPF client sites that share a backdoor link can communicate over the MPLS VPN backbone and participate in VPN services.
I like this explanation, very clear:
When running OSPF between the PE-CE routers, you might also have a backdoor link that connects the CE routers directly to each other over OSPF. Because the backdoor link is connected between CE routers directly over the backbone area, the traffic is preferred over the backdoor link. The reason being that the routes over the backdoor link are the intra area routes and they will be preferred over the inter area routes learned over the super backbone area from the MPLS MP-BGP network. So sham links (possibly with cost adjustments) can be used to ensure that the routes learned over the MPLS network show up as internal routes rather than the inter area routes. This way the traffic transits over the MPLS network instead of over the backdoor link.
Sham-Links are used with the purpose of path engineering in OSPF. The use case is typically When you have a connection to your ISP using MPLS L3VPN and you also have a backdoor link, you can tell your ISP to configure a Sham-Link in order influence the path selection through the MPLS L3VPN cloud instead of the backdoor link.