I would say that native speakers do not understand the difference between them, either. They both have a wide range of overlapping meanings. This is where a native speaker consults a dictionary. Try it! But in this case, you will not get a clear answer. They are basically synonyms and which one is used is based on tradition, custom, or personal preference.
Large bodies of salt water, as geographic features, are named "ocean" or "sea." The name is what it is, and you can't change it. The Indian Ocean is the Indian Ocean; you cannot call it the Indian Sea. The Timor Sea is the Timor Sea; you cannot call it the Timor Ocean. In the case of geography, oceans are bigger than seas.