Here, I took some liberty with the wording: in the context of discussing pets people have you may decide not to focus on the fact of HAVING a pet as much as on WHICH pet a person has.
"У мамы есть кошка и собака" also works, naturally.
Which is why we have to also accept translations like "У меня кошка" in some other sentences (where it makes some sense, of course). Pretty inconveniet because these two do not mean the same and are not interchangeable.
This link really helped me: http://www.auburn.edu/~mitrege/russian/tutorials/0005.html
It is a preposition with the meaning of "at, beside". It is also used with living beings to sort of "convert" them to places. You see, in Russian the most idiomatic way to express possession is to say that a thing is "at" someone:
- У меня есть машина. = I have a car.
- У меня есть компьютер. = I have a computer.
- У мамы есть собака. = Mom has a dog.
- У собаки есть мама. = The dog has a mom.
More advanced stuff: pseudo-places expressed by у-phrases are also used at the beginning of a sentence to say something about a thing that "belongs" (from the language's POV) to a person or object. It is usually translated by the English possessive (the Russian sentences implies the situation is relevant to the "owner"). It is a bit one-sided because you can also use Russian possessive to translate the English sentence back. The sentence loses the connotation of relevance then and becomes an objective statement about that thing:
- У меня сломалась дверь. → My door broke. → Моя дверь сломалась.
- У тебя спина белая. → Your back is white. → Твоя спина белая.
- У меня мама не работает. → My mom does not work. → Моя мама не работает.