Can anyone tell me what is more appropriate for different types of .net applications?
The "Localizable" property* on a Windows Form tells Windows to create and use a .resx resource file for the string properties of the controls on the form. .NET will load the appropriate resource file depending on your current UI culture.
ResXResourceSet
, detailed on MSDN here, makes it easy to programmatically read the same .resx resource file.
So in a nutshell they're really the same thing: one is an automatic mechanism for Windows Forms to use resource files, and one is for program access. Typically a Windows Forms application would use the Localizable property for fixed UI elements and the ResXResourceSet to access additional properties for prompts, variable text and whatnot.
*that makes me chuckle, as "Localizable" should be "Localisable" in British English