Yes, this is my single biggest frustration with Marriott hotels. Unlike Fairmont's which will confirm the crib and have it set up in the room every time we arrive, I have never have a Marriott confirm that one would be available before arrival. Even when I call early the day of arrival to request it in the room, I've always been told they're first-come, first-serve. I've only had 2 hotels in the last year, out of 12 Marriott stays that didn't have cribs available when we checked in. One of those was after arriving after 2 delayed flights at 3am only to be told that not only did they not have one available, but they didn't have any at the hotel at all because they all broke. I would expect that when you're spending $3200 on a hotel stay, you can have a $120 pack n'play available. To their credit, they brought one by the next day that they borrowed from a neighboring hotel. Still, trying to sleep with our one-year old in our bed for the night was not pleasant.
So, to answer your question, yes, there are times when they won't be provided. Like you, I've contemplated bringing our own pack n'play, but they're so large and bulky it would be too cumbersome to be worth it. If you're arriving during the day, you might consider using one of the baby equipment rental services that are available in most large cities (certainly London and Melbourne). That's what we were prepared to do had they not brought one by the next day. That may be an option worth looking into to guarantee availability.