Shore, coast, beach, strand, bank, littoral, foreshore are comparable when they mean land bordering a body or stream of water.
Shore is the general word for the land immediately bordering on the sea, a lake, or a large stream.
Coast denotes the land along the sea regarded especially as a boundary.
Beach applies to the pebbly or sandy shore washed by the sea or a lake. Both shore and beach may denote a resort frequented for pleasure or vacation. In this use shore more specifically indicates proximity to the sea and beach a place adapted (as by the presence of a sandy beach) to the use of swimmers or sunbathers.
Strand is elevated for shore or beach .
Bank denotes the steep or sloping margin of a stream.
Littoral is a technical or somewhat pretentious term occurring especially in geographic, political, and scientific writings for the whole coast or an extended, clearly specified portion of the coast of a particular sea or country; it may imply extension farther inland than coast usually implies.
Foreshore is applied sometimes to the part of the shore between high and low watermarks but at other times is extended to include the beach.