Твой/твоя is related to ты, ваш(а) is related to вы.
You use твой when you speak with one person and you know that person well (or if it's a child). We generally don’t address strangers this way (although this is different for different regions, some people do).
Ваш is used when you're speaking to several people, or when you're speaking to one person politely.
it depends on the case of the word following it from what I've gathered. grammatical "gender", and case, all change which spelling/word form to use. In this case, твоя gets used with мама because they're both the """feminine"""" form and they need to match. You'd use твой on words like кот and дом because it's """"masculine""", and твоё gets used on neutr words like яйцо, молоко, etc.