The short answer: Unless you only travel on DL, Starwood is better because you have much more flexibility and can top off many airline accounts.
The long answer: It depends what you buy. Here's one example:
Annual spending: $50K
Miles subject to DL double miles: 10K
DL annual fee: $85
With these parameters, you'd get 40K miles for $40K DL spending plus 20K miles for the other $10K. So you'd have 60K miles minus the worth of the $85 fee (about 3K). So you'd have a value of about 57K miles.
With Starwood, 50K miles would be worth 62.5K (50 x 1.25).
If your own situation is close to this one, I'd go with Starwood because of the flexibility. Note that the card is supposed to be "improved" in June. Everyone is waiting to see if this is true.