Computers are not just on dektops anymore, we see mobile computing theses days. With the heavy use of laptops and smart phone.
When data is on the move, there are advantages of taking your data offline, this would typically mean that your client would have a data cache locally.
Having data locally has its own advantages, for example, your data is highly available, you can work offline even without connecting to your network (maybe while your flying). This model also reduces the network congestion, as users have there own copy of the data, they do not need to access the data via a network (this would be mostly true, when your applications is a few updates to the data but requires a large number of reads).
So, then again, you can work offline but you would also want to persist your changes or use the upto date date.This is where sycronization comes in, and so does Microsoft Sync Framework.The Microsoft Sync Framework, is a set of libraries that can be used to develop offline applications, The framework will takecare of all the syncronization that your application needs, whether it be syncronizing your changes to the central data store or syncronizing your local data cache with upto date from the central store.
Sync Framew0ork, can be used with any data source as long as you have a provider for it, the provider would be responisble for making the actual data source specific call to syncronize data.
The Sync Framework also provides implementatins for resolving conflicts within data according to defined policies.
You can extend the Sync Framework for different data sources by simply creating your own provider, the framework also has a few default provider implementations like providers for ADO.Net data sources, file providers and also a SyncFeed provider for rss/atom feeds.
MIX has a nice video on ths framework on action and you can learn more and download the Sync Framework here.