It has to do with whether or not the subject is masculine, feminine or neuter. By the looks of things it appears not to be as hard as French (for me at least). http://www.russianlessons.net/grammar/nouns_gender.php
Since "cat" in the sentence is "кашка", then that means that "cat" alone or in a sentence with "моя" is "кошка", then that means "cat", but if the sentence is more specific or longer than two words, then that means that "If your specific about a person, than "cat" will be "кот", but if you aren't, and only use "Plural Noun" "Cat", or use "cat" in front of "My" (Моя, Мои, and Мой), then "cat" will be "кашка." Hope this makes sense.
@Emanuell694179 - The noun itself specifically has a grammatical gender, it doesn't necessarily have to do with the gender of the thing. In this case you can either have кот (мой - masculine) or кошка (моя - feminine). There can never be a моё кот / моё кошка. If you don't know the gender of the animal you're safe to just roll with one or the other though usually they would say кошка.