What is the difference between 通常，经常，and 常常？
I hear them a lot in conversational Chinese, but I can't pick out the difference in meaning. The dictionaries I've checked don't seem to agree on their chosen English translations.
Generally, 经常 is used ahead of action, like 我经常加班
通常 is used to describe things happened frequently. like 事情通常是这样的
常常 can be used for both of the cases.
----- Edit -----
both are okay to me too, you can see the differences.
常常 can always take place of 经常 (anyway, I cannot recall any examples now that cannot replace it).
通常来说， 常常 can also take place of 通常, but we just don't say 常常来说 :)
常常 simply means "often", and is not very formal. You wouldn't find it in legal documents and such.
经常 means "frequently" or "regularly". It's not just conveying the frequency of something, but also its regularity.
通常 also conveys frequency, but it's a bit more like "usually". Under such-and-such a condition, then something often or usually happens.
If I say 我常常在麦当劳吃饭, it just means that I "often" eat at McDonalds. But if it's 我通常在麦当劳吃饭, then when I have a meal, the "normal" or expected case is that I will be eating at McDonalds.
The difference is not really about the degree of frequency/infrequency.
通常 means "usually", or "for most of the times". It is used to describe things that would probably happen when certain circumstances are met. But the thing it describe doesn't necessarily happen in a high frequency.
常常 and 经常 could both describe things that
has a high possibility to happen when certain circumstances are met. The possibility may be higher than expected or average, but isn't necessarily so high as to be called "for most of the time".
happens in a high frequency.
But the choice is sometimes a matter of grammar. (I'll explain this later in the examples.)
Note Since "通常" is for "most of the time", it is often used with "但是(but)" to show that there are exceptions.
我 [经常, 常常] 锻炼身体。
“通常”这个词 [常常, 经常] 和“但是”一起使用。
洗澡水 [经常, 常常] 过热。 （过热 means overheating, so it is one word.）
洗澡水 [常常] 太热，让我很不舒服。 (太热 are two words, 太 (too) 热(hot) )
洗澡水 [常常] 不是太冷，就是太热。 （不是太冷，就是太热 is a long phrase）
The pronunciation of 经常 (jīngcháng) has a stronger stress than 常常 (chángcháng).
So when people use 常常, the stress is more often in the phrase that follows it, while when using 经常, the stress is more often put on the syllable “经” rather than on the others.
So 经常 are usually followed by a word (or a idiom that counts as a verb). While 常常 could be followed by longer ones like a phrase or a clause, because the stress is not yet used.
But in some informal contexts, people don't care the difference very much.