In any program except Marriott, stays are better then nights to earn points and maintain/earn status. For SPG and Hyatt you earn more pts. through promos than by rates paid, so stays are the way to go if you want to earn points.
It's more work though.