When deciding between clustered and non-clustered indexes, there are several factors to consider, such as the size and structure of the table, the frequency and type of queries, the distribution and uniqueness of the data, and the available resources. Generally, it is recommended to use a clustered index for tables that have frequent range queries, as it keeps the data sorted and contiguous on the disk, thus reducing the number of disk reads. Additionally, clustered indexes are beneficial for tables that have frequent joins, especially on the primary key column, as it helps to avoid sorting and hashing operations, and improves the join performance. On the other hand, non-clustered indexes are ideal for tables that have frequent point queries, as it can quickly locate the data using the index key, without scanning the whole table or the clustered index. Furthermore, non-clustered indexes are beneficial for tables that have frequent updates, inserts, or deletes, as it does not require reorganizing the data on the disk, and has less impact on the transaction log and the fragmentation.