Yes, there is a difference. As I'm sure you've realised, the English language is rich in vocabulary, and it is rare to find two or more words which can be used in exactly the same way.
The word 'dweller' is not usually used on its own. It is almost always found in combination with an other word to form a compound noun, such as 'city dweller' or 'desert dweller', for example - or indeed the phrase 'slum dweller' which you found in the article about India.
'Resident' tends to be used more for districts and buildings. You would talk about the residents of a particular suburb of Paris for example, or the residents of a certain apartment block. The implication is that the resident lives ( or 'resides') in this place on a long-term basis. The word can also have rather 'middle class' (bourgeois?) connotations.
'Inhabitant' is a much more general and rather more basic word. You can talk about the inhabitants of a primitive village or the inhabitants of the jungle, for example. Animals can also be referred to as inhabitants of a particular location.