It seems to happen naturally over time. In theory, it shouldn't, but apps don't always clean up after themselves well. Games can leave things behind, the mail database can leave fragments of deleted messages and attachments behind, etc. As apps have grown over the years, and gotten more complex, it seems to happen more. Every time an app quits unexpectedly, it tends to leave saved state information out there. Compared to PCs it's actually pretty good about cleaning up after itself, but... well, it just happens. 25+ years in systems management may have jaded me a little bit... I'm just used to cleaning up after sloppy programs. Not making a statement about iOS here. It's based on OS X, which is based on the BSD UNIX kernel. It's one of the 'cleanest' OS's around.
How much "other" you have and how much is 'normal' for the mix of apps and the way you use your phone will vary. Mine tends to sit just below 2GB. If it gets close to or over 3, I backup, restore iOS, and restor my backup. That gets it under control again. I don't usually have to do that more than about once or twice a year. Actually, with iOS updates coming out almost every year like clockwork, if you update using iTunes instead of over the air, it takes care of doing that for you.