Here's an explanation coming from Korean Grammar In Use: Intermediate:
This expression is used when the speaker, after considering a number of possible situations, concludes that something could be considered more or less as the topic or subject that has been mentioned. It is considered equivalent to 와/과 마찬가지다.
How to differentiate them?
To me (non-native by the way), 은/는/을 것 같다 is an expression of conjecture while 은/는 셈이다 isn't.
I'm not sure if gaeguri's example highlights their difference because 제 나의 고향은 서울이 된 것 같다 could also be said as a substitution (someone correct me). However, I do think it can be better seen through your example of 비가 오다.
비가 오는 것 같다
You say this probably in some situation where you here the sound of rain and you know it's cloudy, but you haven't gone outside and checked. That's what's known as conjecture.
비가 오는 셈이다
You'd say this when it's snowing, but (for some odd reason) the snow immediately turns into water (I guess it's because the ground is hot enough?) and starts making everything wet and damp instead of nice and Christmas-y. Since the situation would almost turn out the same when it rains, you'd say that it's just practically raining.