Ok, so here's the thing about Android: it works using caches.
Just like your browser.
There's a cache just for Android, and a bunch of little caches for each app.
And you may be familiar with your browser getting all wonky - who knows why, an update, a visit to some goofy sites, whatever - and then you clear your browser cache and suddenly everything is back to tip-top shape?
Same thing hits all of the time in Android - every make and model and every software version because cache use is fundamental to Android.
So - step one is clearing out those caches.
When you're not rooted (which is a fancy way of saying that you're getting the exact same access as admin on your PC) the only way to do that is with a factory data reset.
And if you want to root, you're going to face a factory data reset.
What the factory data reset does - clears out your settings, your apps - and the caches. (With root, you can later just do cache clears only, unrooted you can't.)
So - the secret is to save as much as you can via backup, do the reset, then restore.
Here's how -
First, backup your storage to your PC - internal sd, external sd card if you have one. Drag and drop is fine. Nothing should be hurt on your card(s) doing a reset - but never say never.
Next, backup your apps+data. I used to simply recommend MyBackup Pro, but lately, I've heard complaints on that. So give Carbon a try.
https://play.google.com/store/apps/details?id=com.koushikdutta.backup
You'll have to add stuff to your PC to make it work since you're not rooted.
Next, backup any texts you care about -
https://play.google.com/store/apps/details?id=com.zegoggles.smssync
Finally - and this is crucial - go to your gmail account on the web and confirm that your contacts are all there as expected. (If you only do Facebook contacts or something, don't sweat that so much.) If you have any of your contacts set to store on Phone (as viewed from People on the phone), export your contacts to a vcf file as your backup.
Now, go into phone settings, usually Storage (I'm not near my phone), and perform the Factory data reset (don't format or erase your sd card).
Restore backups, redo settings and accounts.
Without root, you can't back up everything.
Having a backup/restore that you can trust is just good phone sense. Someday, and I hope not, you could drop or lose your phone. Having a good strategy on this is your friend.
I know for a certain fact that several, if not all, of your problems are being caused by one or more Android caches being tangled and dirty. I guarantee it.
And this could have hit you on any Android at any time. (Don't ask me why they don't run a cache-cleaning procedure as part of their standard update. It's only two additional commands in the update, and each update contains hundreds of commands. I've been complaining to the makers and carriers on this since 2010, none of them will listen. It's almost below the idiot level that they do this to us.)
Anyway - that's the story and the glory, give it a spin.
If you want to root, meet me in our root forum, ask how - everyone will be happy to help, we love converting people to the side of truth and justice. Plus, having already done a good backup, you'll be ahead of the game.
Rooting's not required and it's not for everyone but it is pretty cool.
And by the way - let's get that camera problem sorted before you try rooting.
If you have funky camera hardware, don't bother to root, nothing there can fix funky hardware.
Hope this helps!