I think it's great to use conditional tags but if the query is slightly advanced it won't give information about the original query. For example; is_category('apple') might give a false response if "banana" AND "apple" has been queried. This is because is_category() compares against one single category and doesn't bother about the rest.
I need a way to know when I can expect that conditional tags won't give complete information about the original query. Can someone explain the limits of wordpress conditional tags?