The difference between them is as follows. Assume you have columns A, B, C and you put one complex index on them in exactly this order. now, when you do
SELECT * from table where A = .. AND B = .. AND C =
then the index will be used and this is the most efficient usage of this index.
if you have query
SELECT * from table where A = ..
then the index will still be used. However, the idnex will not (updated thanks to comment: or only partially for 2nd and 3rd example) be used in:
SELECT * from table where B .. SELECT * from table where A = .. AND C = .. AND B = .. SELECT * from table where A = .. AND C = ..
however again will be used in:
SELECT * from table where A = .. AND B = ..
hope this helps. The order is the KEY here. And of course what you need. If you have three queries like
SELECT * ... where A SELECT * ... where B SELECT * ... where C
then of course make 3 indexes on single column. however if you have queries with AND, first make sure they have then same order and then go ahead and make 1 index for 3 columns