Let's assume you've selected the right TeX 'language' - as explained in "how hyphenation works", you're not likely to get the correct results typesetting one language using the hyphenation rules of another. (Select the proper language, using babel if you're a LaTeX user. This may reveal that you need another set of hyphenation patterns; see "using a new language" for advice on how to install it.)
So what else can go wrong?
\lefthyphenmin
characters after the start of a word, nor less than
\righthyphenmin
before the end of a word; thus it won't
hyphenate a word shorter than the sum of the two minima, at all.
For example, since the minima are 2 and 3 for English, TeX won't
hyphenate a word shorter than 5 letters long, if it believes the
word to be English.
\hyph
command, defined
\def\hyph{\penalty0\hskip0pt\relax}This is not the sort of thing this FAQ would ordinarily recommend... The hyphenat package defines a bundle of such commands (for introducing hyphenation points at various punctuation characters).
\hyphenation
command allows you to give explicit instructions.
Provided that the word will hyphenate at all (that is, it is not
prevented from hyphenating by any of the other restrictions above),
the command will override anything the hyphenation patterns might
dictate. The command takes one or more hyphenated words as
argument - \hyphenation{ana-lysis pot-able}
; note that
(as here, for analysis) you can use the command to overrule TeX's
choice of hyphenation (ana-lysis is the British etymological
hyphenation; some feel the American hyphenation feels
'unfortunate'...).