The iPhone supports background updates. Many apps will update with current information even with the phone is asleep, so it is available when you want it. Of the buit in apps, Weather, Stocks, Alerts all use a small amount of data all the time. Email uses data when sending and receiving. iMessage uses data when receiving when the phone is asleep. If you go to Settings/Privacy/Location Services and scroll all the way to the bottom you will see "System Services". Tap on this and you will see a bunch of switches for internal system functions. Each of these uses some data, so turn off the ones you don't need. "Traffic", for example, gets real time traffic information to display in the Maps app. Setting Time Zone uses data to determine where you are. So does Popular Near Me and Location-Based-iAds.
In addition apps that you install from the App Store have the capability to use data when running in background. Go to Settings/Cellular and you will see a list of apps that can use cellular data. You can turn off the ones you don't want to use cellular data when updating. They will then only work with a WiFi connection.
Next, go to Settings/General/Background App Refresh. This is a list of apps that are "allowed" to run in background and use data. Any app can run in background, using battery, but they need your permission to use data when running in background.
The difference between these last two is the apps under Cellular control all app data usage, and Background App Refresh only affects apps that are running in background.