The main difference are the parameters of these functions:
-
Array.prototype.indexOf()
expects a value as first parameter. This makes it a good choice to find the index in arrays of primitive types (like string, number, or boolean). -
Array.prototype.findIndex()
expects a callback as first parameter. Use this if you need the index in arrays with non-primitive types (e.g. objects) or your find condition is more complex than just a value.
See the links for examples of both cases.