When the table is small or columns have low cardinality.
Indexes on small tables or columns with few unique values might not improve query performance. The overhead of maintaining the index outweighs the benefits. For instance, indexing a 'status' column with values like 'active' or 'inactive' in a small 'users' table is unlikely to speed up queries significantly in an e-commerce app.
Additional Notes
When might it be counterproductive to use an index?