This means that the apps can refresh their content, but Background App Refresh is not responsible for the actual updating of the binary from the App Store.
With regards to the actual app updating, there is a criteria which must be met before an app can be updated:
Intelligently scheduled updates.
iOS schedules updates during power-efficient times. Like when your device is on and connected to Wi-Fi. So your battery isn’t drained unnecessarily.
The setting to enable or disable Background App Refresh is applicable for both WiFi and cellular. There is no way to disable it only for cellular data. So yes, apps that use location services can drain your cellular data plan.
Possible solutions:
Restrict which apps are allowed to use background refresh. You can thus limit the amount of data usage by turning on this setting only for the apps that you need background refreshes for.
Turn off cellular data for specific apps from Settings->Cellular (this page also shows the cellular data used by your apps). This would completely restrict those apps only to WiFi all the time though.
iOS 4 and greater supported multitasking for some specific use cases:
A program needing a limited amount of time to finish a task (such as uploading a file) and can be suspended after that. It would not be woken up until the user went back to the app.
Playing audible content to the user while in the background, such as Pandora.
Recording audio while in the background
Keeping the user informed of their location, such as a navigation app
VoIP apps like Skype
Newstand apps which update content occasionally
Communicating with plugged in accessories (added in iOS 5)
Apps which communicate with Bluetooth devices (added in iOS 6)
iOS 7 adds two additional use cases for multitasking.
A program can register that it wants to download small sets of information regularly. For example, it could download twitter updates regularly. This new API allows you to specify that you'd like to be woken up to download information every so often. For instance, a program could say it wants to download information after it's been asleep at least fifteen minutes. The system will then try to find a time where it can wake up as many apps at once to do their work. Minimizing the number of times the device wakes up will help it save battery.
A program can register to be woken to download content if it receives a remote notification. The idea is that it can download the content and be ready to display it if you go into the app.
Best Answer
Background App Refresh won't update apps.
Source: Apple KB Article — iOS: Understanding multitasking
This means that the apps can refresh their content, but Background App Refresh is not responsible for the actual updating of the binary from the App Store.
With regards to the actual app updating, there is a criteria which must be met before an app can be updated:
Source: Apple — iOS 7 — What's New, previously available at http://www.apple.com/ios/whats-new/
This means that just because the option is enabled, the update won't always take place.