"It is cool and it is foggy."
Translation:Il fait frais et il y a du brouillard.
This is a great sentence to point out the difference. According to Sitesurf "Il fait" is followed by an adjective, since cool is an adjective "Il fait frais" . "Il y a" is used to state what you can sense (fog, rain, snow- nouns) and requires the construction " Il y a du brouillard". (literally there is fog) - It is foggy.
when talking about the weather in French there are a variety of constructs you can use. Typically the following guidelines apply:
il fait + non weather specific adjective (beau, mauvais, chaud, froid, humide, frais, sec, doux, etc.)
le temps est + weather specific adjective (nuageux, pluvieux, brumeux, etc.)
il y a + article + noun (brouillard, vent, soleil, nuages, averses, etc.)
il + verb (pleurer, neiger, geler, etc)
as bouillard is an uncountable masculine noun you need to use the construct: il y a du bouillard