Flight cancellation - "weather", or used for another route
I'm not a frequent flyer on the legacy airlines so I wanted to see if I should bother escalating this issue or if it's standard practice. I'm trying to provide as much detail as possible (leaving out typical bad phone agent issues); skip to bottom for the short version.
I had a trip booked with miles (economy saver one way, standard the way back) for a trip CLD-LAX-ASE and back. Our flight to ASE was diverted to Grand Junction due to limited visibility and United has offered 3k miles, a $75 voucher, or 10% off certificate for customer appreciation. That was an unexpected surprise, since it certainly wasn't their fault for the visibility issue.
On our way back, our initial flight on 2/9 was canceled due to snow. No flights were landing and our CRJ700 from DEN never took off. Understandable again. I got automatically rebooked for an 8 AM ASE-LAX flight. I stood in line to confirm that was our best option. The weather forecast suggested a lull in the storm in the morning, perhaps enough to get out of ASE. I was told by the gate agent that our aircraft would be flying in from LAX on 2/9 (UA 6508), land around 9:30 pm (again during an apparent time of good visibility forecasted), and be available for us in the morning. So, assuming the LAX-ASE flight was there, we should be good to go. I asked if we would have better chances trying to get to DEN and getting on a flight out from there, and the agent told me that my best bet would be to keep my confirmed 8 am flight (UA 6210).
Satisfied, I went ahead and booked an additional night in Aspen. I kept checking the fligt status of 6508 and visibility stats and all looked good an hour before their expected landing. Then I got a notice that my flight 6210 was canceled. I couldn't confirm on any other web sites so I called UA. Indeed I was told it was canceled. The agent said it was due to weather. That didn't make sense to me, that a flight would be canceled 12 hours ahead of time due to weather, and checked other flights on 2/10; flights leaving at 7 am and 7:30 to DEN were on time (2 flights landed from DEN on the evening of 2/9) and a flight to ORD at 8:17 am was also on time. How did one flight in the middle of those 3 get bad weather?
A little more digging and I found that the aircraft for 6508 was now being sent to ORD on flight 5190. So while weather played a role in the cancellation (not enough aircraft for all the flights the next day) my "confirmed" reservation for 6210 was canceled because UA decided to use the aircraft for another flight. As it turns out, the weather was good enough and had we had an aircraft, we could have left. Instead I am still in ASE with nowhere to stay, hoping to catch a flight to SFO then LAX-CLD to arrive on 2/11. United uniformly insists that their official reason for cancellation is weather, even when the agents cannot explain to me how a flight gets canceled for weather with other flights leaving shortly before and after. As such, they say they cannot compensate me for hotel expenses or a rental car to drive from LAX to CLD if I can get to LAX on 2/10.
tl;dr version: do I have any claim to compensation of some sort if my flight is canceled due to the expected aircraft being used for another flight, even if United is blaming the weather? Or would I be pushing a boulder up a hill if I file some kind of claim or complaint? Does UA tend to stick to its guns saying the weather ultimately affected them which is the root of our flight being canceled?