While using the DC/OS UI to debug some services that wouldn't start for days, I saw that their state is shown as Recovering or Deploying.
The UI said something like:
DC/OS has been waiting for resources and is unable to complete this deployment for 2 days. See recent resource offers.
This led me to think that Marathon was not getting offers, but after looking at the Marathon UI, I saw that the problem was not the lack of matching offers, but that the status of the applications was Delayed.
The reason why the services were delayed was a transient infrastructure error. I tried to reset the delay using the DC/OS UI, but I didn't find a way of doing it, so I had to go back to the Marathon UI to reset the delay.
How to reproduce
You can deploy this application, it should go in the delayed state pretty quickly. To see if it worked, please take a look at the marathon ui. If it didn't work deploy more and make sure this has not enough resources.