It seems like a lot of people have Apple's background refresh functionality confused with the way Android does it's background refresh. Let me set things straight here.
Android OS:
A lot of apps on Android have the option to auto-refresh every 15 min, 30 min, 1 hour or Manual. If for example you have facebook set to refresh every 30 minutes it will do just that. It doesn't matter if there is no new information or not it's still checking facebook every 30 minutes for an update. Run a few apps in this manner and you are indeed draining your battery.
iOS:
Apple learned that setting apps to auto-refresh in intervals (15min,30min,1 hour) isn't the most battery efficient way to do things so they implemented the background refresh in which how often a app refreshes depends on YOUR usage trends.
In theory if you check the weather every 9 hours eventually iOS will update the weather right as that 9th hour approaches rather than update it every 15, 20, 30min all day long.
Android OS:
A lot of apps on Android have the option to auto-refresh every 15 min, 30 min, 1 hour or Manual. If for example you have facebook set to refresh every 30 minutes it will do just that. It doesn't matter if there is no new information or not it's still checking facebook every 30 minutes for an update. Run a few apps in this manner and you are indeed draining your battery.
iOS:
Apple learned that setting apps to auto-refresh in intervals (15min,30min,1 hour) isn't the most battery efficient way to do things so they implemented the background refresh in which how often a app refreshes depends on YOUR usage trends.
In theory if you check the weather every 9 hours eventually iOS will update the weather right as that 9th hour approaches rather than update it every 15, 20, 30min all day long.