Two points I'm going to disagree with
Avoid the creation of an index on a column in a table when the data stored in that column has a large number of repeated data values are stored in the column.
Low density indexes can be useful, especially if they are covering indexes
If the database supports a transaction processing system, then avoid using indexes because the performance of the insertion of new transactions will be degraded.
Absolutely not. An OLTP system needs small numbers of well-chosen, effective indexes. None at all means terrible select, update and delete performance. The inserts may be fast, but I've never seen a write-only database.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability