The difference between a “sea” and a “gulf” is not as simple to define as one might believe. It isn’t a rigid definition. Seas are generally marked or surrounded by land masses, but not necessarily enclosed by land. Seas should also flow directly into the oceans. Two examples are the Mediterranean and Black seas. Saltwater actually flows into both of these seas. The Caspian Sea, in spite of its name is not really a sea. It is actually a very large lake. Why aren't the Gulf of Mexico, the Gulf of California, Hudson Bay, and the Bay of Bengal not called seas? No real reason. The definition for a “gulf” is:
"A large area of a sea or ocean partially enclosed by land, especially a long landlocked portion of sea opening through a strait."
Mostly, it is just a matter of names. If different people had named them; they might have been called seas.
The primary difference between the two terms is one of encasing. A "sea" is "The continuous body of salt water covering most of the earth's surface, especially this body regarded as a geophysical entity distinct from earth and sky." In its virtue of being continuous, it is not easily encased, as it For example, the Arabian Sea feeds into the Indian Ocean, and while it is bordered by India, the Coast of Africa, and the Arabian Peninsula, it is wide and feeds outward to the larger body of the Indian Ocean. Contrast this with the definition of a gulf, which is "A large area of a sea or ocean partially enclosed by land, especially a long landlocked portion of sea opening through a strait." In this understanding, the gulf feeds into a sea or ocean, primarily because it is encased by lands in a close proximity. For example, the Persian Gulf is narrowly fit in between the Arabian Peninsula and Iran. At the same time, it feeds into the Arabian Sea. The difference between the two is that the narrow and encased gulf feeds into the wide sea.