Rocks are omnipresent. They are found on every continent, including Antarctica. Given that that they come in many forms, English, being above all a precise language, boasts a large number of words to describe the specific types.
In general, rock and stone are almost interchangeable, describing both the material and form. When referring to a large stone, a boulder is more specific, implying a mass that is impossible or almost impossible to move. By itself in the sea or the desert, a large rock is called an outcrop. By contrast, as part of a hill overhanging the sea or a valley, it is called a cliff. A steep and rough patch of rock is a crag. Finally, a large hill-sized rock in a flat area is called a butte.
In the other direction, small rocks created by water or wind erosion are called pebbles, which are generally large enough to be held in a human hand and quite fun to skip. By contrast, gravel is much finer, reaching the size of sand. Scree is the pebbles and gravel that break off on hills that make climbing down them so dangerous because solid footing becomes impossible.
If the rock contains solid minerals, the specific section is called a vein (of gold or coal, for example). However, if such rock contains mud and crude oil, it is called shale, a matter of great interest in the world today.
While a rose is a rose, a rock can be many things, rockabil(it)y, so to say.