Questions asking for the differences between ostensibly synonymous or near-synonymous words are always difficult to answer. This is because it takes a lot of time and effort to try to think of, analyse and compare all the possible situations in which you would use the words.
Glancing at your question, it occurred to me that "distinguish" can sometimes mean "discern", whereas "tell apart"