There’s no single answer to that. In fact, that’s precisely why these “SpecialFolder”s are defined. You use those instead of a hardcoded path.
Environment.SpecialFolder.ApplicationData
is the most common one. This folder holds per-user, non-temporary application-specific data, other than user documents. A common example would be a settings or configuration file.
Environment.SpecialFolder.CommonApplicationData
is similar, but shared across users. You could use this to store document templates, for instance.
Environment.SpecialFolder.LocalApplicationData
is a non-roaming alternative for ApplicationData. As such, you’d never store important data there. However, because it’s non-roaming it is a good location for temporary files, caches, etcetera. It’s typically on a local disk.