when following what could be called 'sentence form', そうだ means I heard/people say that.
雨が降るそうだ - I heard it will rain
when following a verb's masu-stem or an adjective's stem (remove い or な as appropriate), そうだ means it looks like/seems
雨が降りそうだ - It looks like it will rain
Next you have みたい
みたい(だ) is a more casual version of よう(だ) and both work basically the same way:
It expresses
a) a likelihood of something (looks like/appears to be the case)
e.g. 木村さんは昨日お酒はを飲んだようだ・木村さんは昨日お酒を飲んだみたいだ It seems that Mr Kimura dran sake yesterday
b) I likeness/similarity between one thing and another
e.g. この酒は水のようだ・この酒は水みたいだ this sake i like water
The difference between みたい・よう and そう (meaning looks like) is that:
そう is based on what the speaker sees or feels and there i less certainty than with よう which is also based on what the speaker sees/saw, but involves further reasoning on the part of the speaker to interpret the situation. There may be more reliable information involved here.
Basically, そう is a simple 'it looks like', where as よう is 'it seems to me, that...'
You may also find the expressions だろう/でしょう or らしい which can express similar ideas to the above.