Celtic is the broad family — languages and cultures including Welsh, Breton, Cornish, Irish, Scottish Gaelic and Manx. Gaelic is a branch inside it, covering Irish, Scottish Gaelic and Manx specifically. So all Gaelic languages are Celtic, but Welsh is Celtic and not Gaelic.
The core difference
One is a family, the other a branch within it. The relationship is the same as between "Romance" and "Italian".
- Celtic — the whole family, split into two groups: Goidelic (Irish, Scottish Gaelic, Manx) and Brythonic (Welsh, Cornish, Breton).
- Gaelic — the Goidelic branch. Irish, Scottish Gaelic and Manx.
Where the confusion bites
Calling Welsh "Gaelic" is a straightforward error — Welsh is Brythonic. And "Gaelic" alone is ambiguous between Irish and Scottish Gaelic, which is why careful writing names which: Irish (or Irish Gaelic) and Scottish Gaelic. In Ireland the language is usually just called Irish.
Pronunciation
Scottish Gaelic is generally said "GAL-ik"; Irish Gaelic is generally "GAY-lik". The football club Celtic is "SEL-tik", while the language family is usually "KEL-tik" — a split that catches people out constantly.