If you have queries that will be frequently using a relatively static set of columns, creating a single covering index that includes them all will improve performance dramatically.
By putting multiple columns in your index, the optimizer will only have to access the table directly if a column is not in the index. I use these a lot in data warehousing. The downside is that doing this can cost a lot of overhead, especially if the data is very volatile.
Creating indexes on single columns is useful for lookup operations frequently found in OLTP systems.
You should ask yourself why you're indexing the columns and how they'll be used. Run some query plans and see when they are being accessed. Index tuning is as much instinct as science.