A staged release cadence with different levels of surety gives people the ability to play with features as they're developed to make sure those features solve the problems they're trying to solve (in the best way) by giving time for real-world experimentation and feedback. A feature can graduate from nightly-only to stable, and it then has a strong backwards compatibility requirement. The nightly experimentation period is valuable to get those features perfected before people can start relying on them more broadly.
(And dbaupp is correct that it's not always about testing; not all of the OS dev features are in stable yet, so nightly is the only option for that kind of project.)
>>What if I would like to guarantee this property for my own code?
I think that should be an exception if the backward compatibility is to be trusted.
Can you specify, in particular, what you think Rust is not doing that it should be doing?
Rust is doing exactly that.