が and は look like a pair of similar particles but in fact they are not.
”は“ is an additional particle which emphasizes or adds other meanings to 格助詞.
は is one of 係助詞, a marker for emphasis.
が is one of 格助詞, a marker for a so-called subject.
Say, 格助詞 and 係助詞 are in different categories.
So you should not directly compare が ａｎｄ は.
は can follow other 格助詞, like に＋は＝には、と＋は＝とは、で＋は＝では。
However, when が＋は＝がは, then "が" disappears, and the がは turns to は.
i.e. "家に窓はあります" = "家に窓がはあります”
1). 家に窓があります. A house has windows
2). 家に窓はあります。A house does have the very windows.
2). is practically unnatural or hardly makes sense by this sentence alone because it is obvious that "a house has windows" and there is no reason to emphasize the fact.