Airlines have no control over the weather, so you generally are not entitied to any compensation for weather-related cancellations. They will try to do their best to help you (which it sounds like they did by getting you to Cancon), but it's not always enough. If you purchased travel insurance (or your credit card offers travel insurance), that's your best avenue. If not, take it as a lesson learned.
In my experience, most hotels are understanding when it comes to weather issues and will help you out even on prepaid non-cancellable reservations. Did you ask them to refund the night you missed or credit you in some way?