I consider breaking unmaintained code is an additional benefit of
removing deprecated features.
I'd like to warn against this attitude (even though in the past I've occasionally said such things). I now think core Python should not be so judgmental. We've broken enough code for a lifetime with the Python 2 transition. Let's be *much* more conservative when we remove things from Python 3. Deprecation is fine, and we should look for other ways to handle the problem of unmaintained code. But we should not rush language or stdlib changes for this purpose.