A gulf is a very large body of water which is surrounded by land, and it usually has only one entrance, which is actually narrow. A bay is also a body of water of which the water has gone very deep into the land, that is to say, a bay always has a curve that is inward land. Most of the existing bays in the world are formed due to the website of rocks, which are soft and clay matter by waves.
The main difference between bays and gulf is basically their size. It is very much accurate to say that gulfs are larger than bays, although there are some cases in which we have bays that are large. For example, the Bay of Bengal is about the size of the sea of Arabia and is very much bigger and larger than the Gulf of Mexico. Also, gulfs are usually more enclosed than bays.