FindMinimum
is the oldest function, dating back to 1988. It implements numerical algorithms and will output a floating point result. Minimize
is newer (2003), and it uses symbolic methods with exact results. They have distinct purposes and applicability. The confusing names are due to historical accident.
For example
Minimize[x + 2 (x^2 - 1)^2, x] // N
will find the global minimum, while
FindMinimum[x + 2 (x^2 - 1)^2, x]
will find a local, but not global, minimum. On the other hand, Minimize
can fail to give an answer for complicated functions:
Minimize[Exp[Cos[x]] + 2 (x^2 - 1)^2, x]
while FindMinimum
will give something useful:
FindMinimum[Exp[Cos[x]] + 2 (x^2 - 1)^2, x]