IDictionary включает более слабую связь.
Скажем, у вас есть такой метод:
void DoSomething(IDictionary<string, string> d)
{
//...
}
Вы можете использовать его так:
Dictionary<string, string> a = new Dictionary<string, string>();
SortedDictionary<string, string> b = new SortedDictionary<string, string>();
DoSomething(a);
DoSomething(b);