What is the difference if any between a beach and a shore?

A beach is a shore. But not every shore is a beach. A beach is essentially a sand filled boundary region between the sea and land. But a shore is any boundary between the sea and land; it may be rocky or may be a cliff etc.