Oral means spoken aloud. Verbal means expressed in words, which technically includes written words. So "a verbal agreement" is ambiguous — it could be written — while "an oral agreement" is unmistakably spoken. In practice verbal is widely used to mean spoken, but oral is the precise term.
The core difference
One word specifies the mouth; the other specifies words in any medium.
- oral — spoken: an oral examination, oral history.
- verbal — in words: verbal reasoning, and loosely, spoken.
Where the ambiguity bites
In contracts. "A verbal agreement is not binding" is unclear about whether written informal agreements are included. Legal writing uses oral for spoken, which is why you see "oral contract" rather than "verbal contract" in careful drafting.
The other senses
Oral also means relating to the mouth — oral hygiene, oral medication. And non-verbal communication means communication without words at all, which shows the word doing its precise job: gestures are non-verbal but they are certainly not non-oral.