At the most basic level, A user profile is entirety of the files and directories that contain the user-specific data (a very basic way to look at it is the profile is anything and everything contained within the c:\users\username directory).
A straight roaming profiles implementation will COPY the entire user profile to a system on logon and copy the entire user profile to a fileshare on logoff. In cases where the user with a roaming profile is connected to multiple systems and makes conflicting changes to the same file, the last logoff/write will win. As users start saving things to their my documents folder, saving pictures off their camera, uploading their iTunes libraries (these things never happen in an enterprise environment, right? :), the size of the user profile being copied back and forth generally causes long delays in logon/logoff times.
Folder redirection provides a mechanism to point specific folders (My Docs/AppData/Pictures/etc) within the user profile to a fileshare. If a user logins into multiple systems and has folder redirection applied on all systems, his My documents on all systems would point back to the same fileshare location regardless of which machine he logs into. Note that the use of badly written applications that hard code a path (as opposed to reading the registry or querying windows for the proper location) into their application may NOT work correctly with folder redirection.
Data that "roams" with roaming profiles would include such things like Outlook profile Settings, Desktop wallpaper settings, screen saver settings, explorer view settings, installed/default printers, etc..). Folder redirection would not account for these things.
AppData and folder redirection is a mixed bag and if you choose to use folder redirection with AppData depends on the users and applications being used. AppData can become a fairly large folder and if you do not use folder redirection, that entire folder will need to be copied over on logon and logoff which can greatly increase logon/logoff times. On the other hand, some applications read/write a LOT of data to the AppData folder which can cause performance issues (impacting file servers, network, and the system being used) with folder redirection as it would need to read/write that data over the network to the fileshare. In addition, if an application is being used on multiple systems and require a file lock to the same file, folder redirection may not work as there is only a single copy on the file server that can be accessed and locked. All that being said, you start with some application profiling and unless there is some serious indications of possible performance issues, I usually would recommend starting with redirecting AppData and watch for performance issues. There are some tools (Citrix Profile Manager and such) depending on your environment that allow you to be more granular in the folders being copied vs redirected within AppData.