As Tom said, in an ideal world there shouldn't be a need to use USE-INDEX. However, in the real world we sometimes have to work with badly-designed database schemas which use many crazy indexes, and we can't change them for one reason or another.
In those cases, the use of USE-INDEX is pretty much unavoidable. Sometimes, the index selected by the compiler just isn't the one you want, and you just have to specify it. If you have to do that in the minority of cases, then congratulations! You have a well-designed schema!