I previously wrote about how I'm always running out of space on my 16GB iPhone 6S. I decided to reset my phone to factory settings and then install everything manually, instead of restoring from a backup. Surprisingly, iTunes and iCloud makes this very easy. If you click "Restore iPhone.." in iTunes, it erases everything from the phone and automatically installs the latest release of iOS.
If you then sign in using iCloud, it automatically restores most of your settings from iCloud. You still have to install every app manually, but if you go to "Purchases" in the iTunes store it's easy to see what you had installed before. The most tedious part was signing into each app again.
The only issue I had is that I turned off Whatsapp iCloud backups in June, so my chat history from June to September is missing. Apart from that all photos, messages, contacts and so on restored from iCloud without any problems. It seems iCloud finally matured into a usable technology.
The best part is that I have 5GB of free space on the phone after installing all my apps again. This means there was probably some cruft that accumulated over the past eight or so years since I got my first iPhone, where I always just restored from a backup when upgrading to a new phone.
Tl,DR: It's good to start with a fresh install of iOS every now and again, and iCloud makes it easy nowadays.