What is different between "Karibu nyumbani kwangu " and "Karibu nyumbani yangu "? Is the second question also correct?
It's kwangu because nyumbani (with the -ni suffix) is a place, and places are described with ku-, mu- or pu- (correct?). So ku-angu = kwangu, referring to the place that is my home. I think that's one of the most important lessons of this exercise, and it took me a while to grasp.
nyumbani is often translated "home" because it is a specific house and the person is being welcome into it.
To add on to this Nyumba translates to home, and can even refer to a house. The -ni suffix implies a preposition, like 'to' or 'at' the home.
The TUKI dictionary says the opposite:
nyumba = house
nyumbani = home
So the correct translation ought to be "Welcome to my home".
Karibu also means near. So I am not sure how one can distinguiah this sentence between meaning 'near' or 'welcome'