On the surface it sounds as if you're doing everything right; I have however found this process to not always be quite as straight forward as one might think. For starters, I've found that newly added contact data is not immediately available to Siri. I have had to wait as long as 5 to 10 minutes before she recognizes the new entry. Once the data parses through iCloud though, she usually gets it without missing a beat. Another tip that I've picked up is using nicknames for locations to make speaking them a little easier. For example, I travel regularly for business, so as soon as I arrive, I add the hotel address to my contact list and provide it a nickname of "The Hotel"; That way I can simply ask to be reminded when I leave the hotel instead of when I leave "Omni Hotel and Spa Downtown LA". I of course have to change this nickname every time I check into a new hotel but if you frequent the same coffee shop or supermarket, it should work quite well for you.
On another note, in order to use your example of "Remind me to check the mail when I arrive at Mom's House", you must first assign the relationship of "Mother" to a specific person in your contact list (unless of course you have your mother listed in your contacts as simply "Mom" as opposed to a full name). You can do this either in the contact edit screen of your own contact by adding the field "Related People" or you can simply tell Siri "Sally Smith is my Mother". You can also get Siri to recognize the relationship by giving a command using the relationship, such as "Call my Mom" if the relationship is not set, Siri will ask you who your mother is.
If you're still having trouble after trying some of this let me know in the comments, we can work through exactly what you're doing step by step and drill down the problem.