Diferença entre 'SpecialFolder.LocalApplicationData' e 'SpecialFolder.ApplicationData'?

No meu sistema,%AppData% leva aApplicationData qual éC:\Users\<USER>\AppData\Roaming

Mas também háC:\Users\<USER>\AppData\Local
E para um pouco mais de confusãoD:\Users\<USER>\AppData\LocalLow

string local = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string roaming = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

inha pergunta é: em qual desses locais meu aplicativo deve salvar seus dado

Existem diretrizes para qual desses locais usar? E estou me deixando aberto a problemas se escolher o local errado?

questionAnswers(6)

yourAnswerToTheQuestion