In very broad terms it's not bad. The docs are great and they give specific advice for upgrades.
With that said you may find many 3rd party apps / utils lagging. A couple libs I use still don't support new style middleware, for instance.
With 2.0 dropping support for py2.7 this might cause more pain points for poorly maintained libs but all in all keeping up with Django releases is pretty straightforward and almost always worth it.
Ditto leetrout: upgrading Django itself is easy, with great release notes, deprecation warnings, and long support windows for old versions.
We always end up with a bunch of third party libraries, though, and those end up being upgrade blockers.
A notable example recently was django-tastypie, which didn't cut a Django 1.10-compatible release for 11 months after it came out -- four months after Django 1.9 lost security support. So part of our Django 1.10 upgrade was moving to another REST framework.
(If you don't want that kind of churn, sticking to LTS would make sense - I think 1.8 still has support.)
If you stick to LTS releases, you are guaranteed to be able to upgrade from one LTS to the next without breaking changes. There will only be deprecation warnings about the next LTS release.
With that said you may find many 3rd party apps / utils lagging. A couple libs I use still don't support new style middleware, for instance.
With 2.0 dropping support for py2.7 this might cause more pain points for poorly maintained libs but all in all keeping up with Django releases is pretty straightforward and almost always worth it.
Source: happily using Django since 2008.