Assuming you have iOS 12 or 13, you can Offload unused apps. That frees up the space occupied by the program itself while conserving its data; if needed it will auto-download from the Store when called upon. Photos can be transferred to iCloud Photos and free more space. iBooks you are not reading can be removed in the Books app, downloadable again in the future.
Settings / General / Storage will give you both an idea of what's eating up the space as well as suggestions.
Note that some apps that take up lots of room for caches, such as Twitter, WhatsApp, etc., do have options in their Settings for purging the caches and limiting how much they take in the future. Same goes for browsers.