You're right that you'll need a lot of nights to earn as much as a single credit card bonus. But that's not unique to Marriott, it's the same with other hotel chains. And it's also true with airlines, if you're flying on cheap fares, it can take a lot of flights to earn the same number of redeemable miles as one signup bonus.
But these days, credit card signup bonuses are limited, at worst to once per lifetime, at best to once every few years. In the meantime, you can keep earning slow and steady with long cheap hotel stays...