It depends... If you do mostly queries like in a data warehouse, it is beneficial to create all possible indexes. If you have more of an OLTP workload, you only want to create the indexes that you really need due to the added index maintenance overhead.
Furthermore, I wouldn't simply create indexes on all columns. It may be better to have an index on a combination of columns and you may not need indexes on some columns. Therefore, a good start would be to run your SQL statements as workload through the Design Advisor and see what indexes are suggested by that tool. The next step is to understand how indexes work (e.g. what is index-only access, prefetching, include columns, just to name very few) and then apply this knowledge to your workload.