I'm not Chinese but I've been taught that there are grammatical differences and differences in meaning. 所有的 is a quantifier like 有的 or 有些/一些, whereas 都 is an adverb and is also required in fixed expressions and certain structures (e.g. in 每个。。。都 or 一点 。。。都/也没有). So in terms of meaning, 都 is sometimes just part of an expression. It can mean 'all,' but also 'both' or simply mean all of the nouns preceding it.
a:银行,商店 ,邮局都关门
= This could mean the same as b. But it could also simply be referring to ONE specific bank, ONE shop, and ONE post office which are closed (eg the bank, shop, and post office on the speaker's street) while others elsewhere are still open. Like a lot of Chinese sentences, the exact meaning depends on the context.
b: 所有的银行,商店 ,邮局都关门
= I think this more clearly means that ALL banks, shops, and post offices are closed, e.g., for a national holiday or because it is well past closing time.