I'd recommend the Starwood AMEX if you are interested in flight upgrades as well as free nights since you can convert points in that program to ff miles in a number of programs which, in turn, you can use to upgrade plane tickets you may purchase.
Another side benefit of the Starwood AMEX is that it only has a $30 annual fee--much smaller than most other airline affiliated cards out there. The only thing that the Starwood AMEX isn't good for is accruing United miles since you only get 0.5 miles per Starpoint; on all other airlines you receive 1 mile per starpoint.