Overall not closing apps will provide a better user experience. For many (including myself) its tough to notice. And if you just like to keep the task switcher tidy than by all means go for it.
Things to know though, closing an app is actually "force closing". This action intentionally deletes an apps "preserve state" in case the app is problematic this allows it to start fresh. An apps preserve state varies but its why some apps go right to where you left them a month ago, or text fields you typed in haven't been deleted, etc. So its not like pressing the "Exit" in a computer application. Its more akin to Force Quit on Mac or using task manager to kill a program on windows. Devs program knowing people will do this and if the app is responsive will save critical data if it needs to prior to terminating.
Apps in the task switcher are in the background, while they a virtually closed they can be reopened by iOS depending on their use of background API's. For example, a push notification can reopen a 3rd party email app and download a new message into the app. If the app was force closed (can vary per app) you'll still get the notification that you have a new email but it wouldn't download until you opened the app (with a exception below).
Apps that are forced closed will not reopen like they do in the background with the exception of specific apps using the location background mode API. These apps can open and perform a task even if they are closed. Examples would be home automation apps to turn off security systems, lights, etc.
Of the 7-10 background modes Background Fetch aka Background App Refresh seems to cause the most confusion however in general its simple. When iOS feels it a good time based on location, time, network and your usage pattern various apps are given 30 seconds to update their content. So if you check an app every day when you get to work that supports background fetch it could be given permission to download data and integrate it into the app so its ready to go when you open it.
Apple has the background modes locked down fairly well making battery impact negligible for most people. Even background app refresh is strictly monitored and actively adjusted. Apps are given 30 seconds to download the data they need. integrate it into the app, and then required to tell iOS they are done. The longer they take or if they don't send completion handler at all the less likely and less often that app will be given permission to use background app refresh so that app can't kill the battery. This makes it a bit of a race it do what it needs and get done asap.
If you open and close the same app a lot through the course of the day it could effect battery life more then just leaving it in the background due to the processing and network power required to reload it all day vs it just updating some of its contents. Conversely if you use an app once a day or less closing it could won't effect much and in some cases save you battery.