Are 明白 and 懂 synonymous? If not, could anyone please elaborate on the difference along with some examples of usage?
There are differences in meaning between 明白 and 懂, but they are somewhat subtle. Several Chinese-language websites record Chinese speakers asking the same question, so the difference is certainly not obvious. Nevertheless, the long and short of it is that, for practical purposes, they are interchangeable: people use 懂 and 明白 to mean "I understand" in many daily circumstances without considering any deeper implications of their meaning. When they do intend to draw distinctions between the words, as in the last example below, they will so explicitly.
This baidu question asks for the differences between 明白， 理解， 了解， 知道， and 懂. The consensus among the respondents is that 懂 represents a deeper level of understanding than 明白 does, even to the extent that 懂 can indicate a spiritual or essential understanding.
This soso question adds another perspective: 懂 does not need to involve communication. (Again, it can refer to deep, almost spiritual understanding. For example, you would hear songs like "不懂爱" but not "不明白爱") 明白 necessarily involves someone understanding something that someone else has communicated to them. I hadn't seen this rule formulated before, but it matches my experience of using and hearing these words.
This article is intriguingly entitled “越来越明白却越来越不懂” ["I '明白' more and more, but '懂' less and less"]. There's a sense in this article, as there is in the other sources above, that to 懂 something is to understand the principles behind it.
Finally, this English-language article on 懂, 明白, and 了解 dispenses with the first two words quite quickly. It supports my first point above that, in daily life, these two words are more or less interchangeable and don't imply any deep level of comprehension.
one more point: 明白 may be used as an adjective (e.g. 明白人 means a wise person), whilst 懂 can only be used as a verb
One note: anecdotally, I've found that 懂 is used more frequently in south China (Fujian, Guangdong, etc.) and with Cantonese speakers, whereas 明白 is less commonly used.
I'm not a native speaker, but in my opinion they are essentially the same, but 明白 has a connotation of "clear" and therefore might be more suitable in some situations, for example where a superior is being stern with a subordinate and asking if his instructions are clear. Just like in English where a drill instruction might ask a conscript "Is that clear?" or "Have I made myself clear?" instead of "Do you understand?". I'm not saying that's the only way to use 明白 but rather that it works particularly well in that situation. And of course 懂 can be used in various ways with other words, such as 听得懂, in a way that 明白 cannot (you cannot say 听得明白 - but you could say 听清楚).