With the recent changes in their program, I have to give the nod to Marriott.
Starwood is great if you are staying in locations whose population is 50,000 or more. They will almost always have properties there (in the US). However, if you are going to be staying out in the hinterlands, then you should go with Hilton or Marriott. They have far more properties and will give you 'status credit' for staying at any of their lesser properties.
Marriott will comp you to Silver for getting their VISA card. Also, Gold level in Marriott's new program gets you access to all their concierge lounges (free breakfast and sometimes free drinks). Note that 'status credit' at Marriott is given for nights, not stays. That way you can earn more credit for longer stays like vacations.
Points accumulation are similar for both programs, but I think that Marriott has better rewards. Six free nights at the best Hilton properties will cost 195,000 points. For 200,000 points at Marriott, you get 7 nights at any of their properties worldwide (including some timeshares), 2 free airline tickets to get there and a rental car for 3-4 days. Quite a difference!
Lastly, for me, the quality and consistency of the properties and service within Marriott (especially the Marriott and Renaissance brands) are the best part. I don't like checking in at 11pm and dealing with a snarly desk clerk and then ending up with a crummy room when I am a regular customer with a chain. I'm not saying Marriott is perfect, but I have had far fewer bad experiences with them than others. Perhaps when Starwood and Hilton have a few years to meld in all their new brands and do training for the new brands, they will increase their consistency and quality. For me now, Marriott gets a big 'thumbs up' in consistency of service and product.
[This message has been edited by BillMorrow (edited 06-07-2000).]