More on covering indexes
Generally, covered indexes work best in a situation where a query is going to return a relatively small set of data from a table and the overall row size is large.
For instance, let's say you have a table like the following:
(lots of other attributes about the Yak)
If you needed to do a query like
SELECT YakName, YakID
WHERE YakName like 'Graz%'
Then a covering index on YakName, YakID (as opposed to just an index on YakName) would be beneficial, because the QP wouldn't need to go to the data page to retrieve the YakID... it could just get it from the index.
An inappropriate covered index is often worse than just a good index on the table coupled with fetches to the data page. This is because a covered index will tend to have a larger index key, which wastes space in the database and will slow the index access.
When in doubt, try the query both with and without the covered index and see which one results in less page I/O.