The NT based operating systems have always supported roaming profiles, where (in a domain environment) most of a user's data is stored on a central server rather than on the local machine. At logon, Windows pulls down the most recent version of the roaming profile and stores it on the local machine. In XP, the folder that is synchronized is located at "%USERPROFILE%\Application Data", and in Vista, that folder is "%USERPROFILE%\AppData\Roaming".
This is in contrast to the local settings directory, which isn't synchronized with the central server on login/logout. That's located in XP at "%USERPROFILE%\Local Settings\Application Data" and in Vista at "%USERPROFILE%\AppData\Local". One thing that's worth noting here (since this is a programming forum): if you're writing an application that you want to play well with roaming profiles (as all good applications should), you should make sure that any cache files or other large amounts of data that you need to store are stored in Local Settings rather than Application Data or My Documents (this means you, Adobe: no more putting Lightroom cache files in My Documents so that I have to back them up). This keeps the system from having to download a lot of data and makes login faster for users with roaming profiles.