Here's what Rule 27(E) of the Contract of Carriage says:
... UA will not refund any portion of a Ticket that is purchased with a non-refundable fare, including the fare and any taxes, fees, or other charges included within the total price paid for the Ticket.
I would assume that they can legally justify just keeping the taxes for unflown tickets, as this issue no doubt has to have come up before.