A. In most scenarios, this shouldn't be a choice. Rather, you want to use both technologies, because they complement one another to achieve the optimal virtualized user state environment. It's critical to use both any case where users may use multiple OS instances, such as people who use multiple computers, users in a Remote Desktop/Terminal Services environment, or VDI infrastructure.

A normal user state consists of the user's data, such as information in the Documents or My Documents folders, and the user's settings, which include personalization and configuration. User settings mostly live in the registry, and the user portion of the registry is stored in the user's ntuser.dat file.

Normally, this user state, called a local profile, is stored in a subfolder of C:\Users (in Windows Vista and above) and is local to each machine. When your network is configured to use local profiles and a user logs on to different physical machines or connects to different Remote Desktop services or VDI instances, the user will have different data and different settings on each OS instance, because the user has a different local profile on each instance. This is undesirable for the end user.

The solution is to abstract the user's state from the OS instance, which enables the user state to follow the user no matter which OS instance the user is using. This abstraction is where folder redirection and roaming profiles are used. Roaming profiles is a technology in Windows that replicates the local profile to a network location. No matter which OS instance a user logs onto, the same profile is always used.

Traditionally, roaming profiles worked by replicating the profile from the network location to the local machine during logon then replicating it back up to the network location when the user logs off. This profile replication delays a user's logons to an OS instance because the profile data has to be copied from the network. It also delays logoff, because the profile has to be replicated back to the network. Obviously, the more data in the profile that's changed, the longer the replication takes.

Each version of Windows has made improvements to the replication mechanism, and with Windows 7 there are two notable changes. One is that only the changes to files are replicated, not entire files. The other is that you can configure ntuser.dat to replicate in the background during a session, eliminating the slow logoff because of the state information has already been replicated to the network. This second feature isn't enabled by default—you need to enable this background synchronization using Group Policy.

Roaming profiles still has to replicate the information in the profile back and forth between the user's OS instance and the network. As the amount of user data, such as the content of the Documents folder, grows, it can add up to a lot of data requiring synchronization. This is where folder redirection is used. Folder redirection allows you to change where the folders that make up the user profile point. Instead of the folders being part of the user's profile area, they can be folders on a network location. These folders include application data (AppData/Roaming), Desktop, Documents, Pictures, and the Start menu. Windows Vista and above, you can also redirect Contacts, Downloads, Favorites, Links, Music, Saved Games, Searches and Videos. You can see that basically every location where data is stored for a user profile can be redirected to another location, allowing you to take all the data elements of the user's state and remove them from the profile. This means a much smaller roaming profile and so less to replicate. Additionally, folder redirection means user data is on a network store, so backup for your organization is easier.

Even though a user's data may be redirected to a network location via folder redirection, the data is still available if the user is offline from the network thanks to the offline files technology in the OS. Offline files, which is enabled by default, caches data on the user's local machine in a client side cache. Windows 7 improves the background synchronization of offline files by automatically synchronizing changes without a user selecting if they're online or offline. Windows 7 also introduces transparent caching, which automatically caches files locally on the client when they're downloaded from a network location. This transparent cache means that if a user views a remote file, closes the file, then opens it again, the second read would be fulfilled from the users transparent cache. This feature results in a much faster read experience. Note that transparent caching still contacts the server to ensure the local cache is current, so data in the transparent cache isn't available offline and isn't a replacement for offline files and folders.

To achieve the optimal roaming user experience, you need to use roaming profiles, offline folders, and folder redirection. You might also look at Microsoft Application Virtualization (App-V), a technology that facilitates very fast application delivery to OS instances. With App-V, in addition to the users' states following them no matter which OS instance they use, their applications can also follow them.

For more information on Folder Redirection and Offline Files, see this TechNet site and this TechNet site.

Related Reading:

Check out hundreds more useful Q&As like this in John Savill's FAQ for Windows. Also, watch instructional videos made by John at ITTV.net.