I actually went to the WWDC session on this, so I have a little bit of insight on the subject. To my understanding, in iOS 7:
- The app tells the system if it wants to use background app refresh.
- If the app wants to use the feature, the system analyzes your usage patterns for that app (you open it every morning around 7, once an hour, on third Tuesdays, etc.),
- After the system thinks it has your pattern for the app figured out, it gives the app an amount of time right before it thinks you are going to open the app.
When would this be useful? For apps with dynamic, updating content. For example:
- Twitter
- Facebook
- A Stack Exchange app
- A news app
- An RSS reader
- etc.
Bassically, any app with content that updates often would benefit from this feature.
As a user, it means that when you open an app after the system figures out your usage patterns, you are going to see very recent content - instead of content still cached from the last time you opened the app.
Also, developers love this feature - at one point, there were several developers around Tim Cook thanking him for such a feature, and trying to make sure that is wouldn't go away.