It's used for INItialization files; configuration files. the Windows API Functions WriteProfileString And ReadProfileString were introduced in windows 3.0 to read/write from the win.ini file. with the introduction of Windows 3.1 MS introduced the WritePrivateProfileString and ReadPrivateProfileString functions, which could write to separate INI files.
INI has never been used for icons; the ICO extension has been used for Icons since early versions of windows.